Was sind die afconvert-Einstellungen für die iTunes Plus AAC-Codierungseinstellung?

Die Herausforderung

Ich möchte eine große Sammlung von WAV-Dateien mit der Einstellung „iTunes Plus“ in iTunes in AAC konvertieren. iTunes beschreibt diese Einstellung wie folgt:

128 kbps (mono) / 256 kbps (stereo), 44,100 kHz, VBR, optimiert für MMX/SSE2.

Ich möchte diesen Importvorgang automatisieren.

Versuch und Irrtum

Das afconvertBefehlszeilentool kann zwischen Audiodateiformaten konvertieren. Ich habe ein paar Einstellungen ausprobiert und die nächste, die ich bekommen konnte, ist:

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

Also: Seien Sie ausführlich ( -v), verwenden Sie das AAC-Datenformat ( -d aac), codieren Sie mit 256 kbps ( -b 256000), speichern Sie im Apple MPEG-4-Audiodateiformat ( -f m4af), verwenden Sie die höchste Qualität ( -q 127), verwenden Sie VBR-eingeschränkt ( -s 2) und fügen Sie SoundCheck hinzu Daten in die Datei.

Ich habe auch eine m4aDatei mit der iTunes Plus-Einstellung erstellt.

Die m4avon erstellte Datei hat afconvertungefähr die gleiche Größe wie die iTunes-Datei; nur 65536 Bytes kleiner.

Ergebnisse

Mit dem afinfoTool habe ich die von iTunes generierte Datei mit der von afconvert. Es gibt zwei Unterschiede in der afinfoAusgabe:

  1. Die von iTunes generierte Datei hat eine audio data file offset131072, die eine afconvert65536. Dies erklärt den Unterschied in der Dateigröße
  2. Irgendwie hat die von iTunes generierte Datei andere sound checkWerte als die von konvertierte afconvert:

    • iTunes-Datei:

      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
      
    • afconvertDatei:

      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
      

    Vor allem die sc peak amplitude msecund sc max perceived power msecWerte weichen stark voneinander ab. Dies sind genau die gleichen Eingabedateien. Was könnte diesen Unterschied verursachen?

Frage

Gibt es eine Möglichkeit, Ergebnisse noch näher an der Einstellung „iTunes Plus“ zu erhalten?

Antworten (2)

Ich hatte genau die gleiche Besessenheit und erstellte schließlich einen FLAC-to-iTunes-Importer, der FLAC-Dateien in WAV dekodiert und sie mit dem iTunes-eigenen Encoder in iTunes importiert: https://github.com/cbguder/FLAC2iTunes

Es sollte einfach genug sein, FLAC2iTunes so zu modifizieren, dass es die direkte WAV-Eingabe unterstützt.

Was die Soundcheck-Werte betrifft, so habe ich iTunes, XLD und afconvert verglichen, indem ich WAV-Dateien in AAC codiert und sie wieder in WAV decodiert und die decodierten Audiodaten verglichen habe. Ich habe auch die afinfo-Ausgaben für die codierten Dateien verglichen. Während die Soundcheck-Werte für jede Datei unterschiedlich sind, sind die dekodierten WAVs genau gleich, so dass selbst wenn Sie XLD oder afconvert verwenden, die Chancen stehen, dass die resultierenden Dateien genau gleich klingen.

Für afconvert habe ich die von Apple im Handbuch „ Mastered for iTunes “ vorgeschlagenen Parameter mit einer CAF-Zwischendatei verwendet:

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

Auf den neuesten Versionen von afconvert:

afconvert intermediate.caf -d aac -f m4af -ue pgcm 2 --soundcheck-read -b 256000 -q 127 -s 2 final.m4a

Für XLD habe ich diese Einstellungen verwendet:

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
Danke, ich hatte nicht versucht, die beiden AAC-Dateien zu dekomprimieren und die beiden decodierten Dateien zu vergleichen. Ich bin mir immer noch nicht sicher, warum die sound checkWerte unterschiedlich sind und was sie tatsächlich bedeuten. Ich akzeptiere Ihre Antwort. (Und: Ich habe tatsächlich auch viele FLAC-Dateien ;-))
OSX 11.4 und ich kann die Benutzereigenschaft -u pgcm 2für caf > m4a nicht mehr hinzufügen: führt zu einem Fehler: Couldn't set audio converter property ('prop'). Gibt es eine neue Einstellung oder neue Dokumentation? Die Apple-Dokumentation empfiehlt es immer noch: images.apple.com/ca/itunes/mastered-for-itunes/docs/…

Sie können das „Mastering For iTunes“-Droplet verwenden, das auf der Apple-Website verfügbar ist.

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

Ich musste das Skript ändern, um es auf Yosemite/El Capitan auszuführen, aber es ist ziemlich trivial:

  • Zeigen Sie den Paketinhalt der App im Finder an (Programme/Dienstprogramme/Master for iTunes Droplet).
  • Navigieren Sie zu Inhalte/Ressourcen/Skripte
  • Öffnen Sie main.scpt
  • Aktualisieren Sie die Vergleichszeilen der Systemversion auf "10.10" (es gibt zwei Zeilen, die diese Änderung erfordern):

    if systemVersion is less than "10.10" then

  • main.scpt speichern

Jetzt können Sie Ihre FLAC- oder WAV-Dateien einfach per Drag & Drop auf das Droplet ziehen, und es wird eine CAFF-Zwischendatei erstellt, gefolgt von der iTunes Plus AAC-Datei.

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

Für diejenigen, die daran interessiert sind, sieht es so aus, als ob die afconvert-Subroutinen die folgenden Befehle verwenden (beachten Sie, dass diese aus dem Kontext des Codes gezogen werden und nicht so ausgeführt werden, wie sie sind):

  • WAV/FLAC zu CAFF:

    • wenn die sampleRate größer als „44100“ ist:

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

    • anders

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

  • CAFF zu AAC

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