iTunes Plus AAC编码设置的afconvert设置是什么?


8

挑战

我想使用iTunes中的“ iTunes Plus”设置将大量WAV文件转换为AAC。iTunes将此设置描述为:

128 kbps(单声道)/ 256 kbps(立体声),44.100 kHz,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 kbps(-b 256000)编码,以Apple MPEG-4音频文件格式存储(-f m4af),使用最高质量(-q 127),使用受VBR约束(-s 2)并添加SoundCheck数据到文件。

我还m4a使用iTunes Plus设置创建了一个文件。

m4a创建的文件afconvert的大小与iTunes文件的大小相同;仅缩小65536字节。

结果

使用该afinfo工具,我将iTunes生成的文件与生成的文件进行了比较afconvertafinfo输出有两个区别:

  1. iTunes生成的文件的大小audio data file offset为131072,即afconvert65536的大小。这说明了文件大小的差异
  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 msecsc max perceived power msec值相差很多。这些是完全相同的输入文件,什么会引起这种差异?

有没有办法使结果更接近“ iTunes Plus”设置?

Answers:


6

我有完全相同的迷恋,最终创建了一个FLAC-to-iTunes导入程序,该程序将FLAC文件解码为WAV并使用iTunes自己的编码器将其导入iTunes:https : //github.com/cbguder/FLAC2iTunes

修改FLAC2iTunes以支持直接WAV输入应该足够容易。

至于声音检查值,我通过将WAV文件编码为AAC并将其解码回WAV并比较解码后的音频数据来比较iTunes,XLD和afconvert。我还比较了afinfo输出的编码文件。尽管每个文件的souncheck值都不同,但是解码的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

谢谢,我没有尝试解压缩两个AAC文件并比较两个解码的文件。我仍然不确定为什么这些sound check值会有所不同,以及它们的实际含义。我会接受你的回答。(而且:我实际上也有很多FLAC文件;
rdvdijk 2012年

2

您可以使用Apple网站上的“ Mastering For iTunes”小滴。

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

我确实需要修改该脚本以在优胜美地/ 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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.