Idealmente, quero converter de MP3 para FLAC e vice-versa. Eu também preciso ser capaz de escrever isso.
Idealmente, quero converter de MP3 para FLAC e vice-versa. Eu também preciso ser capaz de escrever isso.
Respostas:
A ferramenta fundamental para conversões de formato de som e transformações simples é SoX, o canivete suíço de programas de processamento de som .
sox foo.mp3 foo.flac
Se você estiver executando o Debian, o suporte à gravação de MP3 sox
é quebrado em lenny e squeeze (e até onde eu sei, o mesmo problema afeta o Ubuntu 10.04 e 10.10). Esse bug foi corrigido no início de março de 2011, portanto, pegar a fonte mais recente (ou pegar um binário para sox
14.3.1-1build1 ou mais recente) e recompilar deve funcionar.
Uma alternativa para codificar para .mp3
é lame
. Não lê .flac
, mas você pode usar sox
ou flac
para converter de .flac
para .wav
e depois lame
de .wav
para .mp3
.
flac -d foo.flac -c | lame - foo.mp3
O sox versão 13 e posterior suporta FLAC, junto com muitos outros formatos . O sox pode fazer muitas coisas em um arquivo de áudio, não apenas converter de um formato para outro. É para o áudio o que o ImageMagick é para os gráficos.
Obviamente, você pode usar o SoX, como outras pessoas já mencionaram, mas sugiro usar lame
e flac
:
Sua primeira pergunta vai de .mp3
para .flac
(veja abaixo por que isso geralmente é uma má ideia):
lame --decode <file>.mp3 - | flac -o <file>.flac -
Isso usará cabeçalhos WAV, que têm limitações quando se trata de arquivos muito longos (quatro horas ou mais arquivos de som longos, etc.)
Sua segunda pergunta é como passar de .flac
para .mp3
:
flac -d -c <file>.flac | lame - <file>.mp3
Essas configurações assumem níveis de qualidade padrão, etc. Leia a página de manual lame
e / ou flac
para ter uma idéia melhor de como ajustá-los.
Agora, pode ser que você tenha gravações muito longas, que você deseja recodificar em um formato com perda. Este foi um dos meus casos de uso e eu vim com isso:
Indo de .flac
para .mp3
usar as configurações de qualidade padrão:
flac -d --force-raw-format --endian=little --sign=signed <file>.flac -c | lame -r -s 48 - <file>.mp3
Isso pressupõe que o formato bruto seja um dado PCM. Taxa de amostragem 48kHz, dois canais. Cada amostra é de 16 bits, little endian, inteiro assinado.
O processo de codificação lame
está usando as configurações de qualidade padrão aqui, que podem não ser sofisticadas o suficiente para você, lembre-se.
Deve-se notar que não faz sentido criar um arquivo FLAC a partir de um arquivo MP3, porque o MP3 já está codificado com perda.
Indo de MP3 -> FLAC e, em seguida, FLAC -> MP3 não faz sentido, pois a qualidade será prejudicada desde a primeira etapa de codificação MP3 original.
No entanto, suponho que você tenha um caso de uso razoável para isso ...