Nas últimas semanas, passei de uma abordagem bastante prática para a transcodificação .flac -> .mp3, para uma que é muito mais 'definir e esquecer'.
A primeira etapa foi parar de usar um front end da GUI (Audacity com um plug-in LAME) e, em vez disso, usar o método descrito aqui .
A segunda etapa foi encontrar um script do shell bash que dissesse que o loop de comando funcionasse recursivamente, permitindo que diretórios com muitos subdiretórios contendo arquivos .flac fossem transcodificados em uma única etapa. Essa resposta foi fornecida por um usuário no askubuntu.com.
Agora, quero aprender a refinar ainda mais as coisas para que as informações da etiqueta ID3 sejam preservadas. Os métodos vinculados aos dados da etiqueta ID3 da faixa acima, deixando o mínimo necessário (ou seja, apenas o campo do título permanece).
Alguém pode me ensinar como escrever um script de shell?
O script de shell foi atualizado assim:
#!/bin/bash
file="$1"
flac -cd "$file" | lame --preset fast extreme - "${file%.flac}.mp3"
id3cp "$file" "${file%.flac}.mp3"
Fazer find . -name '*.flac' -exec ~/bin/flac2mp3 '{}' \;
em ~ / Desktop / stack fornece a seguinte saída:
01 - Amon Tobin - Chomp Samba.flac: done
LAME 3.98.4 64bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
Encoding <stdin> to ./01 - Amon Tobin - Chomp Samba.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0)
Parsing ./01 - Amon Tobin - Chomp Samba.flac: done. Copying to ./01 - Amon Tobin - Chomp Samba.mp3: done
id3info
para o original .flac e o resultante .mp3 fornece, respectivamente:
*** Tag information for 01 - Amon Tobin - Chomp Samba.flac
(ou seja, nada);
*** Tag information for 01 - Amon Tobin - Chomp Samba.mp3
*** mp3 info
MPEG1/layer III
Bitrate: 128KBps
Frequency: 44KHz
O .flac definitivamente possui informações sobre tags. Eu posso verificar isso abrindo o EasyTAG. EasyTAG se refere a isso como 'FLAC Vorbis Tag', mas 'ID3 Tag' para o .mp3. Esse é o problema?
ffmpeg
?