Como cortar e juntar várias partes de um arquivo de áudio usando crossfades?

1

Eu quero manter várias seções de um arquivo de áudio, mescladas, mas sem descontinuidades ("cliques") nos pontos de junção. Existe um comando SoX que faz isso ( link ), mas não faz nenhum crossfade, então haverá descontinuidades. Existe uma maneira de conseguir isso usando um utilitário de linha de comando ou uma biblioteca? (Além de escrever meu próprio código - eu certamente faria isso se eu precisasse)

    
por Sarge Borsch 18.06.2015 / 12:54

1 resposta

1

Acontece que isso é totalmente possível com o SoX, mesmo com apenas uma invocação do SoX, usando trim e splice effects. Mas os argumentos numéricos não são simples de escrever. Todas as regiões de recorte, exceto a última, devem incluir uma quantidade adicional de tempo no final que será usada para o crossfading, e os argumentos para emenda também devem especificar os comprimentos apropriados da 1ª região, incluindo o tempo extra, 1º + 2º após o primeiro splicing, 1º + 2º + 3º, etc.

Eu escrevi um script que faz isso (no idioma Scala), e vou lançá-lo, mais cedo ou mais tarde.

Há uma desvantagem no Sox, parece que o efeito trim não funciona com o formato de ponto flutuante, então no final os dados de áudio são convertidos para (no máximo) formato inteiro de 24 bits, isso pode ser aceitável ou não seu caso de uso.

    
por 19.06.2015 / 07:40