¿Cuáles son los ajustes de conversión de la configuración de codificación de iTunes Plus AAC?

8

El reto

Me gustaría convertir una gran colección de archivos WAV a AAC usando la configuración "iTunes Plus" en iTunes. iTunes describe esta configuración como:

128 kbps (mono) / 256 kbps (estéreo), 44.100 kHz, VBR, optimizado para MMX / SSE2.

Me gustaría automatizar este proceso de importación.

Prueba y error

los afconvert La herramienta de línea de comandos puede convertir entre formatos de archivos de audio. He probado algunas configuraciones y lo más cerca que pude conseguir es:

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

Por lo tanto: ser detallado ( -v ), utilice el formato de datos AAC ( -d aac ), codificar a 256 kbps ( -b 256000 ), almacenar en el formato de archivo de audio Apple MPEG-4 ( -f m4af ), utiliza la más alta calidad ( -q 127 ), utilice VBR restringido ( -s 2 ) y agregue los datos de SoundCheck al archivo.

También he creado un m4a archivo utilizando la configuración de iTunes Plus.

los m4a archivo creado por afconvert tiene aproximadamente el mismo tamaño que el archivo de iTunes; Sólo 65536 bytes más pequeños.

Resultados

Utilizando la afinfo herramienta, comparé el archivo generado por iTunes con el archivo generado por afconvert. Hay dos diferencias en el afinfo salida:

  1. El archivo generado por iTunes tiene un audio data file offset de 131072, la de afconvert 65536. Esto explica la diferencia en el tamaño del archivo.
  2. De alguna manera el archivo generado por iTunes tiene diferentes. sound check valores que el convertido por afconvert:

    • archivo de 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 expediente:

      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
      

    Especialmente el sc peak amplitude msec y sc max perceived power msec Los valores difieren bastante. Estos son exactamente los mismos archivos de entrada, ¿qué podría causar esta diferencia?

Pregunta

¿Hay alguna forma de obtener resultados aún más cercanos a la configuración de "iTunes Plus"?

rdvdijk
fuente

Respuestas:

6

Tenía exactamente la misma obsesión y terminé creando un importador de FLAC a iTunes que decodifica los archivos FLAC a WAV y los importa a iTunes usando el codificador propio de iTunes: https://github.com/cbguder/FLAC2iTunes

Debería ser lo suficientemente fácil modificar FLAC2iTunes para admitir la entrada WAV directa.

En cuanto a los valores de comprobación de sonido, comparé iTunes, XLD y luego conviértase codificando archivos WAV a AAC y decodificándolos nuevamente a WAV y comparando los datos de audio decodificados. También comparé salidas de información para los archivos codificados. Si bien los valores de souncheck son diferentes para cada archivo, los WAV descodificados son exactamente los mismos, por lo que incluso si usa XLD o una conversión, es probable que los archivos resultantes suenen exactamente igual.

Para después de la conversión, utilicé los parámetros sugeridos por Apple en el " Masterizado para iTunes "guía, con un archivo 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

Para XLD, usé estos ajustes:

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
fuente
Gracias, no había intentado descomprimir los dos archivos AAC y comparar los dos archivos descodificados. Todavía no estoy seguro de por qué sound check Los valores serían diferentes, y lo que realmente significan. Aceptaré tu respuesta. (Y: en realidad tengo muchos archivos FLAC también ;-))
rdvdijk
3

Puede usar la gota "Mastering For iTunes" disponible en el sitio web de Apple.

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

Necesité modificar el script para ejecutarlo en Yosemite / El Capitan, pero es bastante trivial:

  • Muestre el contenido del paquete de la aplicación en Finder (Aplicaciones / Utilidades / Master para iTunes Droplet).
  • Navegue a Contenidos / Recursos / Scripts
  • Abrir main.scpt
  • Actualice la versión del sistema para comparar las líneas con "10.10" (hay dos líneas que necesitan este cambio):

    if systemVersion is less than "10.10" then

  • Guardar main.scpt

Ahora puede simplemente arrastrar y soltar sus archivos FLAC o WAV en el droplet y creará un archivo CAFF intermedio seguido del archivo AAC de iTunes Plus.

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

Para aquellos interesados, parece que las subrutinas de afconvert utilizan los siguientes comandos (tenga en cuenta que se sacan del contexto del código y no se ejecutarán como están):

  • WAV / FLAC a CAFF:

    • Si el sampleRate es mayor que "44100":

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

    • más

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

  • CAFF a AAC

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

niagarajohn
fuente