Каковы параметры afconvert для настройки кодировки iTunes Plus AAC?

8

Соревнование

Я хотел бы преобразовать большую коллекцию WAV-файлов в AAC с помощью параметра «iTunes Plus» в iTunes. iTunes описывает этот параметр как:

128 кбит / с (моно) / 256 кбит / с (стерео), 44,100 кГц, VBR, оптимизировано для MMX / SSE2.

Я хотел бы автоматизировать этот процесс импорта.

Методом проб и ошибок

Инструмент afconvertкомандной строки может конвертировать аудио форматы. Я пробовал несколько настроек, и самое близкое, что я мог получить:

afconvert -v -d aac -b 256000 -f m4af -q 127 -s 2 --soundcheck-generate input.wav output.m4a

Итак: будьте многословны ( -v), используйте формат данных AAC ( -d aac), кодируйте со скоростью 256 кбит / с ( -b 256000), сохраняйте в формате аудиофайла Apple MPEG-4 ( -f m4af), используйте самое высокое качество ( -q 127), используйте VBR constrained ( -s 2) и добавьте SoundCheck данные в файл.

Я также создал m4aфайл, используя настройки iTunes Plus.

Размер m4aсозданного файла afconvertпримерно такой же, как у файла iTunes; всего на 65536 байт меньше.

Результаты

Используя afinfoинструмент, я сравнил файл, сгенерированный iTunes, с файлом, сгенерированным afconvert. Есть два различия в afinfoвыводе:

  1. Файл, сгенерированный iTunes, имеет audio data file offset131072, а 65536. afconvertЭто объясняет разницу в размере файла.
  2. Почему-то файл, сгенерированный iTunes, имеет sound checkзначения, отличные от того, который был преобразован afconvert:

    • файл iTunes:

      sc ave perceived power coeff             343 407
      sc max perceived power coeff             6873 8940
      sc peak amplitude msec                   154389 194861
      sc max perceived power msec              194025 194025
      sc peak amplitude                        31129 30928
      
    • afconvert файл:

      sc ave perceived power coeff             341 388
      sc max perceived power coeff             6087 4157
      sc peak amplitude msec                   212509 152323
      sc max perceived power msec              215481 185017
      sc peak amplitude                        31024 29857
      

    Тем более что sc peak amplitude msecи sc max perceived power msecзначения сильно отличаются. Это одни и те же входные файлы, что может вызвать эту разницу?

Вопрос

Есть ли способ получить результаты еще ближе к настройке «iTunes Plus»?

rdvdijk
источник

Ответы:

6

У меня была точно такая же одержимость, и в итоге я создал импортер FLAC-to-iTunes, который декодирует файлы FLAC в WAV и импортирует их в iTunes с помощью собственного кодера iTunes: https://github.com/cbguder/FLAC2iTunes

Должно быть достаточно легко изменить FLAC2iTunes для поддержки прямого ввода WAV.

Что касается значений саундчека, я сравнил iTunes, XLD и afconvert, кодируя файлы WAV в AAC и декодируя их обратно в WAV, и сравнивая декодированные аудиоданные. Я также сравнил выходные данные afinfo для закодированных файлов. Несмотря на то, что значения проверки звучания различны для каждого файла, декодированные файлы WAV абсолютно одинаковы, поэтому даже если вы используете XLD или afconvert, скорее всего, результирующие файлы будут звучать абсолютно одинаково.

Для afconvert я использовал параметры, предложенные Apple в руководстве « Mastered for iTunes », с промежуточным файлом CAF:

afconvert source.wav intermediate.caf -d 0 -f caff --soundcheck-generate
afconvert intermediate.caf -d aac -f m4af -u pgcm 2 --soundcheck-read -b 256000 -q 127 -s 2 final.m4a

Для XLD я использовал эти настройки:

Format: MPEG-4 AAC
Mode: VBR (Constrained)
Encoder Quality: Max
Sample Rate: Auto
Target bitrate: 256 kbps
Add gapless information for iTunes: checked
Write accurate bitrate information: checked
Can Berk Güder
источник
Спасибо, я не пробовал распаковывать два файла AAC и сравнивать два декодированных файла. Я до сих пор не уверен, почему sound checkзначения будут другими, и что они на самом деле значат. Я приму ваш ответ. (И еще у меня много FLAC-файлов ;-))
rdvdijk
2

Вы можете использовать каплю «Мастеринг для iTunes», доступную на сайте Apple.

http://www.apple.com/itunes/mastered-for-itunes/

Мне нужно было изменить скрипт для запуска на Yosemite / El Capitan, но это довольно тривиально:

  • Показать содержимое пакета приложения в Finder (Приложения / Утилиты / Мастер для iTunes Droplet).
  • Перейдите к Содержанию / Ресурсам / Сценариям
  • Откройте main.scpt
  • Обновите строки сравнения версии системы до «10.10» (есть две строки, которые нуждаются в этом изменении):

    if systemVersion is less than "10.10" then

  • Сохранить main.scpt

Теперь вы можете просто перетащить файлы FLAC или WAV на каплю, и он создаст промежуточный файл CAFF, а затем файл iTunes Plus AAC.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Для тех, кто заинтересован, похоже, что подпрограммы afconvert используют следующие команды (обратите внимание, что они извлекаются из контекста кода и не будут работать как есть):

  • WAV / FLAC в CAFF:

    • если sampleRate больше, чем "44100":

    afconvert -d LEF32@44100 -f caff --soundcheck-generate --src-complexity bats -r 127

    • еще

    afconvert -d 0 -f caff --soundcheck-generate

  • CAFF для AAC

    afconvert -d aac -f m4af -u pgcm 2 --soundcheck-read -b 256000 -q 127 -s 2

niagarajohn
источник