В последние недели я перешел от довольно практического подхода к транскодированию .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
?Ответы:
источник
Как использовать mp3fs для массового кодирования flac в mp3
Вместо того чтобы использовать программу для преобразования файлов flac в mp3, вы можете использовать mp3fs, чтобы представить их как виртуальные mp3, и программу, которая может ставить в очередь задания на копирование. Это прекрасно работает для меня.
Скачайте и установите mp3fs и ultracopier:
Создайте пару папок flac и mp3 для каждой mp3fs, которую вы хотите запустить. У меня двухъядерный процессор, поэтому я запускаю два. Если вы храните каталоги flac в разделе, где находятся ваши файлы flac, вы можете быстро их переместить. Этот раздел называется «Хранилище» в моей системе.
Вы можете смонтировать каталоги из командной строки или добавив их в
/etc/fstab
. Вы также можете настроить битрейт и алгоритм кодирования виртуальных mp3-файлов во время монтирования. Я хочу mp3 с постоянным битрейтом 320kbps, и lame может занять все время, необходимое для создания лучшего mp3, которое только возможно.В командной строке:
Если предохранитель жалуется, как
затем раскомментируйте
user_allow_other
параметр в/etc/fuse.conf
и / или сделайте его читаемым с помощьюИли из
/etc/fstab
:После добавления каталогов
/etc/fstab
вы можете смонтировать их, используяВыполнено! Запустите ультракопир. Он поместит значок индикатора на вашу панель гномов или что-то еще, что вы используете. Нажмите на нее, выберите добавить копию. Я сделал это дважды, чтобы использовать два ядра. Используйте свой файловый браузер, чтобы переместить некоторые флаки в flac_1. Перейдите в каталог mp3_1 и перетащите ваши mp3-файлы в одно из окон ультраокопировального устройства, чтобы начать очередь копирования. Ultracopier спросит место назначения файлов. Теперь одно ядро занято кодированием партии флагов в mp3.
Чтобы использовать другое ядро, переместите файлы flac в flac_2 и перетащите файлы mp3 из mp3_2 во второе окно ультракопировального устройства.
Обновление: вместо ультракопира я сейчас использую MiniCopier, его немного проще использовать. Смотрите комментарии ниже.
источник
id3cp
не может работать, так как FLAC не использует ID3; вместо этого он использует тэги Vorbis.avconv
имеет возможность поддерживать теги путем конвертации. Это немного непостоянно, его значение зависит от комбинации кодеков , но в вашем случае работает так (версия 9.16-6):Применение всех файлов FLAC в папке (рекурсивно) так же просто, как это: (использование
bash
)Обратите внимание, что
avconv
использует lame автоматически; Существуют и другие варианты контроля качества и тому подобное. Проверьтеman avconv
детали.источник