Estou tentando usar o sox para reamostrar uma série de faixas que devem ser reproduzidas sem intervalos. Se eu reamostrar cada faixa individualmente, às vezes posso acabar com cliques nos limites da faixa devido à reamostragem individual não estar alinhada. A solução parece conceitualmente simples: concatenar todas as faixas, reamostrá-las como uma única unidade e dividi-las novamente. No entanto, não tenho certeza de como fazer isso de maneira automatizada. A etapa de concatenação é fácil (basta passar todos os arquivos para uma única invocação sox), mas como faço para dividir o resultado novamente com as mesmas durações das faixas originais?
Acabei fazendo um script para lidar com isso:
Exemplo de uso:
Reamostra arquivos flac para 48kHz com o mesmo número de bits por amostra (as tags não são copiadas):
Converta áudio DSD para 48kHz, FLAC de 24 bits (requer SoX habilitado para DSD ):
Os arquivos de saída serão denominados output001.flac, output002.flac, etc.
A adição de opções adicionais ao script (por exemplo, a capacidade de especificar pontilhamento ao criar arquivos de 16 bits ou menos) ficou como um exercício para o leitor. ?