Como posso converter minha coleção de músicas FLAC para o Apple Lossless?

12

Eu tenho uma coleção de músicas de tamanho razoável que mantenho no formato FLAC no meu laptop Ubuntu. Eu gostaria de começar a tocar essa música no meu Mac e sincronizá-la para o meu iPod. As pessoas sugeriram que a melhor maneira de fazer isso é converter minha coleção no ALAC e decidi que é isso que quero fazer.

Antes de mergulhar e escrever scripts de shell personalizados que chamam ffmpeg através de algum comando complexo find , pensei em pedir conselhos.

Como posso converter melhor minha coleção FLAC existente para o ALAC, sem perda de qualidade de áudio e preservando todos os metadados?

    
por jml 26.02.2012 / 22:52

1 resposta

19

avconv (ou ffmpeg, que o avconv é um fork de) pode fazer isso a partir da linha de comando:

avconv -i input.flac -c:a alac output.m4a

Ele deve preservar os metadados por si só.

Para fazer todos os flac em um diretório:

for f in ./*.flac; do avconv -i "$f" -c:a alac "${f%.*}.m4a"; done

Para fazer todos os flac recursivamente (no diretório atual e todos os subdiretórios):

shopt -s globstar
for f in ./**/*.flac; do avconv -i "$f" -c:a alac "${f%.*}.m4a"; done

Se você tem os flacs em arquivos ogg ou algo assim, obviamente mude ./*.flac para ./*.ogg .

Acho que isso deve funcionar com o avconv / ffmpeg dos repositórios (já que o ALAC é liberado sob a licença Apache e pode ser distribuído legalmente), embora eu tenha a versão do medibuntu instalada.

Se você quiser se livrar dos arquivos originais, pode colocar rm no loop. Esta versão usa o sinalizador -n para o avconv, portanto, ele não sobrescreverá nenhum arquivo ALAC já existente e usando && em vez de ; significa que, se avconv parar com um erro, o arquivo FLAC original não será excluído:

for f in ./*.flac; do avconv -n -i "$f" -c:a alac "${f%.*}.m4a" && rm "$f"; done

Observe que a exclusão de arquivos com rm é irreversível (fora da recuperação de dados forenses), portanto, tenha cuidado ao usá-lo.

    
por evilsoup 06.12.2012 / 13:19

Tags