Quels sont les paramètres afconvert pour le paramètre d'encodage iTunes Plus AAC?

8

Le défi

Je voudrais convertir une grande collection de fichiers WAV en AAC en utilisant le paramètre "iTunes Plus" dans iTunes. iTunes décrit ce paramètre comme:

128 kbps (mono) / 256 kbps (stéréo), 44.100 kHz, VBR, optimisé pour MMX / SSE2.

Je souhaite automatiser ce processus d'importation.

Essai et erreur

L' afconvertoutil de ligne de commande peut convertir entre les formats de fichiers audio. J'ai essayé quelques paramètres et le plus proche que j'ai pu obtenir est:

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

Donc: soyez verbeux ( -v), utilisez le format de données AAC ( -d aac), codez à 256 kbps ( -b 256000), stockez au format de fichier audio Apple MPEG-4 ( -f m4af), utilisez la plus haute qualité ( -q 127), utilisez VBR contraint ( -s 2) et ajoutez SoundCheck données dans le fichier.

J'ai également créé un m4afichier à l'aide du paramètre iTunes Plus.

Le m4afichier créé par a à afconvertpeu près la même taille que le fichier iTunes; juste 65536 octets de moins.

Résultats

En utilisant l' afinfooutil, j'ai comparé le fichier généré par iTunes au fichier généré par afconvert. Il existe deux différences dans la afinfosortie:

  1. Le fichier généré par iTunes a un audio data file offset131072, celui de afconvert65536. Cela explique la différence de taille de fichier
  2. D'une manière ou d'une autre, le fichier généré par iTunes a des sound checkvaleurs différentes de celle convertie par afconvert:

    • Fichier 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 fichier:

      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
      

    En particulier, les valeurs sc peak amplitude msecet sc max perceived power msecdiffèrent beaucoup. Ce sont exactement les mêmes fichiers d'entrée, qu'est-ce qui pourrait causer cette différence?

Question

Existe-t-il un moyen d'obtenir des résultats encore plus proches du paramètre "iTunes Plus"?

rdvdijk
la source

Réponses:

6

J'ai eu exactement la même obsession et j'ai fini par créer un importateur FLAC vers iTunes qui décode les fichiers FLAC en WAV et les importe dans iTunes à l'aide du propre encodeur d'iTunes: https://github.com/cbguder/FLAC2iTunes

Il devrait être assez facile de modifier FLAC2iTunes pour prendre en charge l'entrée WAV directe.

En ce qui concerne les valeurs de soundcheck, j'ai comparé iTunes, XLD et afconvert en encodant des fichiers WAV en AAC et en les décodant en WAV et en comparant les données audio décodées. J'ai également comparé les sorties afinfo pour les fichiers encodés. Bien que les valeurs de vérification du son soient différentes pour chaque fichier, les WAV décodés sont exactement les mêmes, donc même si vous utilisez XLD ou afconvert, les chances sont que les fichiers résultants sonnent exactement de la même manière.

Pour afconvert, j'ai utilisé les paramètres proposés par Apple dans le guide " Mastered for iTunes ", avec un fichier CAF intermédiaire:

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

Pour XLD, j'ai utilisé ces paramètres:

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
la source
Merci, je n'avais pas essayé de décompresser les deux fichiers AAC et de comparer les deux fichiers décodés. Je ne sais toujours pas pourquoi les sound checkvaleurs seraient différentes et ce qu'elles signifient réellement. J'accepte votre réponse. (Et: j'ai aussi beaucoup de fichiers FLAC ;-))
rdvdijk
2

Vous pouvez utiliser le droplet "Mastering For iTunes" disponible sur le site Web d'Apple.

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

J'ai eu besoin de modifier le script pour qu'il s'exécute sur Yosemite / El Capitan, mais c'est assez banal:

  • Affichez le contenu du package de l'application dans le Finder (Applications / Utilitaires / Master pour iTunes Droplet).
  • Accédez à Contenu / Ressources / Scripts
  • Ouvrez main.scpt
  • Mettre à jour la version du système comparer les lignes à "10.10" (deux lignes nécessitent cette modification):

    if systemVersion is less than "10.10" then

  • Enregistrer main.scpt

Maintenant, vous pouvez simplement faire glisser et déposer vos fichiers FLAC ou WAV sur le droplet et cela créera un fichier CAFF intermédiaire suivi du fichier AAC iTunes Plus.

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

Pour ceux qui sont intéressés, il semble que les sous-programmes afconvert utilisent les commandes suivantes (notez que celles-ci sont extraites du contexte du code et ne fonctionneront pas telles quelles):

  • WAV / FLAC à CAFF:

    • si sampleRate est supérieur à "44100":

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

    • autre

    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
la source