В последние недели я перешел от довольно практического подхода к транскодированию .flac -> .mp3 к гораздо более «установленному и забытому».
Первым шагом было прекращение использования внешнего интерфейса с графическим интерфейсом (Audacity с плагином LAME) и использование метода, который я описал здесь .
Вторым шагом был поиск сценария оболочки bash, который сообщал бы, что этот командный цикл работает рекурсивно, позволяя транскодировать каталоги со многими подкаталогами, содержащими файлы .flac, за один простой шаг. Этот ответ был предоставлен пользователем на askubuntu.com.
Теперь я хочу узнать, как еще улучшить детали, чтобы сохранить информацию тега ID3. Методы, связанные с вышеупомянутыми данными, удаляют теги ID3, оставляя минимум (т.е. остается только поле заголовка).
Может ли кто-нибудь научить меня, как написать такой сценарий оболочки?
Скрипт оболочки был обновлен таким образом:
#!/bin/bash
file="$1"
flac -cd "$file" | lame --preset fast extreme - "${file%.flac}.mp3"
id3cp "$file" "${file%.flac}.mp3"
Выполнение find . -name '*.flac' -exec ~/bin/flac2mp3 '{}' \;
в ~ / Desktop / stack дает следующий вывод:
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
для оригинального .flac и результирующего .mp3 дает соответственно:
*** Tag information for 01 - Amon Tobin - Chomp Samba.flac
(т.е. ничего);
*** Tag information for 01 - Amon Tobin - Chomp Samba.mp3
*** mp3 info
MPEG1/layer III
Bitrate: 128KBps
Frequency: 44KHz
.Flac определенно содержит информацию тега. Я могу убедиться в этом, открыв EasyTAG. EasyTAG называет это тегом FLAC Vorbis, но тегом ID3 для .mp3. Это проблема?
ffmpeg
?