9

Мне интересно, есть ли у кого чистый, безболезненный рабочий процесс для преобразования файлов FLAC без потерь в их эквивалентный ALAC? Предполагается, что это будет идеальное преобразование, то есть не должно быть очень сложным, но ... это так.

Зачем мне это делать? (До того, как ОС съели меня живьем) В основном потому, что используемое мной аудио приложение (Serato Scratch Live) не поддерживает FLAC, и несмотря на постоянное подталкивание пользователей в течение последних пяти (!) лет, скорее всего, не будет какое-то время. Они, однако, взломали поддержку ALAC

Кроме того, может показаться, что заставить iTunes воспроизводить файлы FLAC (и должным образом конвертировать их для эффективного использования места на моем iPod) практически невозможно.

Единственный улов в том, что я хотел бы сохранить некоторые странные, необычные мета-теги (BPM и ключ песни), которые было бы немного больно восстанавливать. Я заболел чем-нибудь на Windows или Linux

Спасибо

Том

9 ответов9

8

В Ubuntu вы можете открыть терминал, перейти к соответствующему каталогу и выполнить следующий цикл команд:

for f in *.flac; do ffmpeg -i "$f" -acodec alac "${f%.flac}.m4a"; done

Это преобразует все файлы .flac в этом каталоге в файлы .alac, и это будет сделано «немного идеально».

ffmpeg не поставляется в комплекте с Ubuntu, поэтому вам нужно установить его из репозитория.

Однако я не могу точно сказать, что это сохранит информацию о вашем тэге BPM.

Кроме того, может показаться, что заставить iTunes воспроизводить файлы FLAC (и должным образом конвертировать их для эффективного использования места на моем iPod) практически невозможно.

Существует программа под названием flukeformac, которая может позволить вам воспроизводить файлы .flac в iTunes.

Что касается преобразования для эффективного использования iPod, следующий командный цикл сделает свое дело:

for file in *.flac; do $(flac -cd "$file" | lame --preset fast extreme - "${file%.flac}.mp3"); done

Здесь вы можете заменить --preset fast extreme на другую опцию с более низким битрейтом. Больше о lame пресетах можно найти здесь.

6

Исходя из ответа boehj, только для Windows, используя PowerShell и ffmpeg:

ls -recurse -include *.flac | %{C:\path_to_ffmpeg\ffmpeg.exe -i $_.FullName -acodec alac ($_.DirectoryName+"\\"+$_.BaseName+'.m4a')}
4

dBpoweramp может конвертировать Flac в Alac

http://www.dbpoweramp.com/dmc.htm

После установки получите необходимые кодеки здесь http://www.dbpoweramp.com/codec-central.htm

,

4

Для (Windows) наркоманов командной строки там:

Я написал скрипт автоматизации для iTunes для Windows, который пакетным образом импортирует все файлы FLAC из данной папки и ее подпапок в iTunes в формате ALAC, сохраняя ключевую мета-информацию, такую как альбом, исполнитель и название песни. Требуется flac.exe и metaflac.exe и небольшая вспомогательная утилита для преобразования кодировки. Вы можете скачать готовый к использованию пакет, включающий эти зависимости (см. Ниже), или разложить мой проект на GitHub.

Полный текст статьи, бинарная загрузка, ограничения и т.д. См. В моем блоге.

1

В Windows вы можете открыть командную строку и запустить следующие команды, чтобы преобразовать файлы FLAC в ALAC в том же каталоге на другом диске (как я предпочитаю) с помощью qaac, libFLAC и iTunes:

  1. измените текущий рабочий каталог на исходный каталог, содержащий ваши flac-файлы (здесь в качестве примера используется s:\music)

  2. Скопируйте все свои папки в каталог назначения, включая файлы обложки альбома с именами файлов (folder.(jpg|png|gif)):

    robocopy "s:\music" "d:\music" folder.jpg folder.png folder.gif /E

    Параметр /E включает пустые каталоги, если вы не хотите, чтобы они копировались, используйте параметр /S

  3. используйте qaac чтобы преобразовать все файлы FLAC в этом каталоге в файлы ALAC на другом диске "немного идеальным" способом и сохранить большую часть исходных метаданных:

    FOR /R %I IN (*.flac) DO qaac64 -A --copy-artwork -o "d:%~pI%~nI.m4a" "%I"

    Вставка IF NOT EXIST "d:%~pI%~nI.m4a" в вышеупомянутую команду после того, как DO пропустит конвертирование файлов, которые уже существуют в целевом каталоге.

Обратите внимание, что

  • имена каталогов на исходном (s: :) и целевом (d: :) диске должны быть одинаковыми (в противном случае вам придется повозиться с переменными в команде FOR , qaac не создаст для вас каталоги)
  • вам нужно перейти в исходный каталог (s:\music в приведенном выше примере), чтобы команды работали
  • каталог назначения (d:\music в приведенном выше примере) должен быть пустым, чтобы избежать перезаписи файлов
  • вы можете использовать команду SUBST чтобы сопоставить каталог с буквой диска, если вы хотите создать файлы ALAC на том же диске
  • вам придется запустить как минимум версию 2.57 qaac и использовать соответствующий бинарный файл для вашей версии Windows (32-битная или 64-битная)
  • qaac должен быть в вашей переменной Windows PATH или вы должны будете включить полный путь к его двоичному файлу в команду FOR выше
  • qaac требуется iTunes или QuickTime
  • qaac нужна соответствующая копия библиотеки libFLAC в ее каталоге для чтения файлов FLAC, вы можете найти ее на сайте редких программ
  • iDevices не может обрабатывать файлы с частотой дискретизации выше 48 000 кГц и размерами дискретизации выше 24 бит (в начале 2016 года). iTunes не позволит вам скопировать эти файлы на ваше устройство, предупреждая, что дорожка "не была скопирована", поскольку "iDevice" не поддерживает частоту дискретизации. Вызов qaac с опциями --rate 48000 --bits-per-sample 24 исправит это, но убедитесь, что вы используете эти опции только для реальных файлов высокой четкости, потому что в противном случае вы будете раздувать все свои файлы, ничего не получая!
  • в файлах ALAC будет отсутствовать информация о громкости, на которую Apple iTunes и iDevices полагаются для своей функции проверки звука (регулирует громкость воспроизведения песни до того же уровня). Информация может быть добавлена в файлы с помощью iTunes (кажется, что он хранит только объемную информацию в своей библиотеке), beaTunes (коммерческое программное обеспечение), iVolume (коммерческое программное обеспечение) и ряд других инструментов на разных платформах.
  • это не рабочий процесс синхронизации: вышеприведенные команды, запускаемые во второй раз, добавят FLAC-файлы, которые вы добавили в исходный каталог, в целевой каталог, но не будут синхронизировать два каталога вашей музыки (переименованные файлы приведут к дублированные файлы ALAC с разными именами, удаленные файлы не будут удалены из целевого каталога, если вы используете изменения метаданных IF NOT EXIST так как последний запуск не будет отражен в файлах ALAC)

Безболезненно и бесплатно.

1

Я продолжал задавать себе подобные вопросы для разных форматов, поэтому я сделал https://www.blisshq.com/music-library-management-blog/2017/06/20/matrix-free-audio-file-converters/

На этой странице написано ... foobar2000. Так что все зависит от того, что вы подразумеваете под "безболезненно" - это бесплатно, как в пиве.

1

FFmpeg должен уметь это делать; это зависит от вас, чтобы найти правильные команды для этого.

0

MediaMonkey также может сделать это, но он сохранит только BPM-тег (я не знаю, чтобы Song Key был стандартизированным тегом для этих форматов).

Примечание. Для кодирования ALAC вам необходимо приобрести «Пакет кодеков MediaMonkey».

0

Я использую бесплатный и простой метод, использующий только FooBar и iTunesEncode для конвертера.

сначала вам нужно получить iTunesEncode

затем просто зайдите в FooBar, выберите все в вашем плейлисте flac -> щелкните правой кнопкой мыши -> конвертировать

Посмотрите на правую сторону -> Форматы -> Нажмите на нее -> Выберите Custom

И настроить это так:

Encode Tool : path to iTunesEncode.exe
Extension : m4a 
Parameters : -d -e "Lossless Encoder" -a "%artist%" -l "%album%" -t "%title%" -g "%genre%" -y %date% -n %tracknumber% -i %s -o %d
Format is: lossless
next propery : 24

DisplayInfo example :
"Encoder name" - iTunes
"Bitrate" - 1000
"Setting" - Apple Lossless

Вот и все, заполните другие параметры для преобразования -> сохранить конфигурацию (необязательно)

И нажмите Конвертировать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .