Quali sono le impostazioni afconvert per l'impostazione della codifica AAC di iTunes Plus?


8

La sfida

Vorrei convertire una grande raccolta di file WAV in CAA utilizzando l'impostazione "iTunes Plus" in iTunes. iTunes descrive questa impostazione come:

128 kbps (mono) / 256 kbps (stereo), 44.100 kHz, VBR, ottimizzato per MMX / SSE2.

Vorrei automatizzare questo processo di importazione.

Prova ed errore

Lo afconvertstrumento da riga di comando può convertire tra i formati di file audio. Ho provato alcune impostazioni e il più vicino che potevo ottenere è:

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

Quindi: sii verboso ( -v), usa il formato dati AAC ( -d aac), codifica a 256 kbps ( -b 256000), archivia nel formato file audio MPEG-4 di Apple ( -f m4af), usa la massima qualità ( -q 127), usa il vincolo VBR ( -s 2) e aggiungi SoundCheck dati nel file.

Ho anche creato un m4afile usando l'impostazione iTunes Plus.

Il m4afile creato da ha afconvertcirca le stesse dimensioni del file iTunes; solo 65536 byte più piccoli.

risultati

Utilizzando lo afinfostrumento, ho confrontato il file generato da iTunes con il file generato da afconvert. Esistono due differenze afinfonell'output:

  1. Il file generato da iTunes ha un audio data file offset131072, quello di afconvert65536. Questo spiega la differenza nelle dimensioni del file
  2. In qualche modo il file generato da iTunes ha sound checkvalori diversi da quello convertito da afconvert:

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

      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
      

    Soprattutto i valori sc peak amplitude msece sc max perceived power msecdifferiscono abbastanza. Questi sono esattamente gli stessi file di input, cosa potrebbe causare questa differenza?

Domanda

C'è un modo per ottenere risultati ancora più vicini all'impostazione "iTunes Plus"?

Risposte:


6

Ho avuto la stessa identica ossessione e ho finito per creare un importatore da FLAC a iTunes che decodifica i file FLAC in WAV e li importa in iTunes usando il codificatore di iTunes: https://github.com/cbguder/FLAC2iTunes

Dovrebbe essere abbastanza facile modificare FLAC2iTunes per supportare l'input WAV diretto.

Per quanto riguarda i valori di soundcheck, ho confrontato iTunes, XLD e afconvert codificando i file WAV in AAC e decodificandoli nuovamente in WAV e confrontando i dati audio decodificati. Ho anche confrontato le uscite afinfo per i file codificati. Mentre i valori di souncheck sono diversi per ogni file, i WAV decodificati sono esattamente gli stessi, quindi anche se usi XLD o afconvert, è probabile che i file risultanti suonino esattamente gli stessi.

Per afconvert, ho usato i parametri suggeriti da Apple nella guida " Masterizzato per iTunes ", con un file CAF intermedio:

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

Per XLD, ho usato queste impostazioni:

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

Grazie, non avevo provato a decomprimere i due file AAC e confrontare i due file decodificati. Non sono ancora sicuro del perché i sound checkvalori sarebbero diversi e di cosa significhino effettivamente. Accetterò la tua risposta. (E: ho anche molti file FLAC ;-))
rdvdijk,

2

Puoi utilizzare il droplet "Mastering per iTunes" disponibile sul sito Web di Apple.

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

Ho dovuto modificare lo script per essere eseguito su Yosemite / El Capitan, ma è abbastanza banale:

  • Mostra il contenuto del pacchetto dell'app nel Finder (Applicazioni / Utility / Master per iTunes Droplet).
  • Passa a Contenuti / Risorse / Script
  • Apri main.scpt
  • Aggiorna la versione del sistema confronta le righe con "10.10" (ci sono due righe che richiedono questa modifica):

    if systemVersion is less than "10.10" then

  • Salva main.scpt

Ora puoi semplicemente trascinare e rilasciare i tuoi file FLAC o WAV sul droplet e creerà un file CAFF intermedio seguito dal file AAC iTunes Plus.

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

Per coloro che sono interessati, sembra che le subroutine afconvert utilizzino i seguenti comandi (notare che questi sono estratti dal contesto del codice e non funzioneranno così come sono):

  • WAV / FLAC a CAFF:

    • se sampleRate è maggiore di "44100":

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

    • altro

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

  • CAFF a CAA

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.