Nelle ultime settimane sono passato da un approccio abbastanza "pratico" alla transcodifica .flac -> .mp3, a uno che è molto più "imposta e dimentica".
Il primo passo è stato smettere di usare un front-end della GUI (Audacity con un plug-in LAME) e utilizzare invece il metodo che ho descritto qui .
Il secondo passo è stato quello di trovare uno script della shell bash che dicesse a quel ciclo di comandi di funzionare in modo ricorsivo, permettendo alle directory con molte sottodirectory contenenti file .flac di essere transcodificate in un semplice passaggio. Questa risposta è stata fornita da un utente su askubuntu.com.
Ora desidero imparare come perfezionare ulteriormente le cose in modo da preservare le informazioni sui tag ID3. I metodi collegati sopra rimuovono i dati dei tag ID3, lasciando il minimo indispensabile (ovvero rimane solo il campo del titolo).
Qualcuno può insegnarmi come scrivere un tale script shell?
Lo script della shell è stato aggiornato in questo modo:
#!/bin/bash
file="$1"
flac -cd "$file" | lame --preset fast extreme - "${file%.flac}.mp3"
id3cp "$file" "${file%.flac}.mp3"
Facendo find . -name '*.flac' -exec ~/bin/flac2mp3 '{}' \;
in ~ / Desktop / stack si ottiene il seguente output:
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
per l'originale .flac e il risultante .mp3 danno rispettivamente:
*** Tag information for 01 - Amon Tobin - Chomp Samba.flac
(cioè niente);
*** Tag information for 01 - Amon Tobin - Chomp Samba.mp3
*** mp3 info
MPEG1/layer III
Bitrate: 128KBps
Frequency: 44KHz
.Flac ha sicuramente informazioni sui tag. Posso verificarlo aprendo EasyTAG. EasyTAG si riferisce a questo come "tag Vorbis FLAC" ma "tag ID3" per .mp3. È questo il problema?
ffmpeg
?