浏览文章列表
win下将ape等无损音频转换成Apple Lossless « Life Journal

Apple的iPod系列对常见的无损格式都不支持——这不能不说是一个很大的遗憾。当然,这里面也必然有Apple想主推自己研发的Apple Lossless格式(后文仅称ALAC)的原因。但时至今日,可转换ALAC的转换软件依然少之又少。晓晓今天本也打算体验一把ALAC,但为了将手头的ape转换,可着实费了一把脑筋。下面晓晓给各位总结一下比较可行的方法。

如果你是在Mac OS下的话,那么恭喜你,使用X Lossless Decoder就能实现从各个无损格式格式到ALAC的转换。

在Windows下则没有那么好的轻量级软件了。最常用的xilisoft旗下的软件貌似都不提供支持。值得注意的是,ALAC并不是AAC的变体,所以支持AAC和支持ALAC并没有必然联系。

目前网上有三个解决方案:

  1. 将无损格式还原回wav,再重编码成ALAC。但是晓晓觉得此方法太过于繁琐,而且转成wav后曲目标签信息会全部丢失,需要最后再手动添加,实在麻烦。
  2. 使用iTunesEncode插件。这个插件是06年的一个插件,之后再没更新过。尽管如此,晓晓还是觉得非常好用。出了某些时候会转换失败以外,其他没啥毛病。
  3. 使用新版的ffmpeg。据说从某版本起,ffmpeg就支持对ALAC的编码。晓晓尝试了一下发现,转换完成后找不到输出的文件——晓晓发誓绝对没有设置错误——嘛,所以这个方法也就搁浅了。

所以,目前晓晓使用的是第二种方案。网上给出的该方法的教程绝大多数都是只能对foobar2009 0.8的版本。而在细腻的0.9版本里,设置界面略有小改,晓晓给大家重新做了个演示。下面以最新的foobar2000 0.9.6.2为例:

首先前往http://www.rarewares.org/lossless.php下载iTunesEncode插件。当然,如果你的foobar没有ALAC的解码器,也可以顺便从那里down一个。解压之后,把它放到foobar2000的安装文件夹中去(其实放在哪里无所谓,只要自己知道就好)。然后我们打开foobar2000,点击File -> Preferences,到达如图所示的地方。

1 接下来,点击右侧的"Add New"按钮,在弹出的窗口中的Encoder处选择Custom,如图:

2 接下来就是最主要的部分,按照下图的设置进行设定即可。Display Info不需要和我一致,只要让自己看明白即可。

3

Encoder处输入刚才解压出来的iTunesEncode的可执行文件地址即可。

Parameters处要填写:-e "Lossless Encoder" -a "%artist%" -l "%album%" -t "%title%" -g "%genre%" -y %date% -n %tracknumber% -j %disc% -i %s -o %d

随意更改以上信息导致以后出现ID3标签信息丢失的原因我可不管啦。

设定完之后,可以试一试效果了。先打开iTunes,回到foobar2000,在播放列表中随便选择一首歌,右键菜单中选择convert,Output Format选择刚才设定的M4A,试试效果吧。在转换结束后曲目会自动被添加到iTunes的媒体库中。

遗补:

昨天写完教程后,发现用该iTunesEncode方法转换时,容易出现间或转换失败的情况,10首曲目转完,总会提示有2-3首失败。但是如果手动一首一首转换则不会出现该问题。

晓晓研究后认为,是foobar默认使用多线程转换造成无法正常处理已转换完成的曲目的结果。解决方法很简单,关闭foobar2000的自动多线程即可。设置如图中红框标出的地方所示。

4

Sid 晓 星期日, 四月 5th, 2009 03:49 下午 GMT +8
  1. elec

    好的 收了~~

    星期日, 四月 5th, 2009 04:58 下午 GMT +8
  2. ms11

    俺照表操課,實做轉換得到的音樂檔是MPEG-4 AAC Audio
    Parameters 做不同的部署之後,ffmpeg 也可以完成相同的工作

    兩者都是先丟出wav 的暫存檔,然後讓iTunes 接手轉為MPEG-4 AAC Audio 的m4a 音樂檔

    經過實際比對,俺發現,以上的轉換成果,不是 apple lossless 的m4a音樂檔

    差別很明顯:
    apple lossless 音樂檔的碼率基本上都在900K上下,體積一般都在25M以上,軟件「千千靜聽」無法播放

    MPEG-4 AAC Audio 音樂檔的碼率基本不超過320K ,體積基本在5M上下, 「千千靜聽」可以播放

    星期一, 九月 14th, 2009 04:38 下午 GMT +8
    • 晓晓

      原来如此?但是我转出来的m4a体积上确实非常大,千千之类的播放不了的。编码我自己看过,并非aac啊……

      不知道是不是哪里我写的不对了哈……晚上再研究研究……

      星期一, 九月 14th, 2009 06:34 下午 GMT +8
    • 晓晓

      刚才又去看了下,发现千千确实可以放,是我记错了。但是千千里看到的音频信息是不正确的PCM,而如果导入到itunes上看,确确实实显示的是appleloss,并且码率在900K上下确定无疑。在foobar中显示编码为ALAC。应该没有问题的吧?

      星期一, 九月 14th, 2009 06:40 下午 GMT +8
  3. ms11

    喔?是這樣的呀
    莫非俺用的設定,有哪些地方跟您不同?
    iTunes 需要特別的設定嗎?

    俺都只能弄到 MPEG-4 AAC Audio 的m4a 音樂檔,怪了

    星期一, 九月 14th, 2009 08:06 下午 GMT +8
  4. ms11

    喔?是這樣的呀
    莫非俺用的設定,有哪些地方跟您不同?
    iTunes 需要特別的設定嗎?

    俺都只能弄到 MPEG-4 AAC Audio 的m4a 音樂檔,怪了

    星期一, 九月 14th, 2009 08:06 下午 GMT +8
    • 晓晓

      我使用8.2和9.0版本的itunes都可以顺利转换。itunes本身没有任何别的设置。不过我建议你先看看你的itunes本身的转换为apple lossless功能是否能正常工作。有没有可能需要登陆itunes store帐户?嘛,至少我是有授权帐户的……
      你的分析没有错,确实都是解压成wav之后调用itunes的编码功能。所以建议你在仔细看看参数的设定是否真的没问题。还有foobar的版本,我用的是v9.6.4。

      星期一, 九月 14th, 2009 10:53 下午 GMT +8
  5. ms11

    俺轉出來的碼率都是128K ,體積只有幾m

    星期一, 九月 14th, 2009 08:10 下午 GMT +8
    • 晓晓

      阿拉,好东西呀~谢谢你哈~

      星期二, 九月 15th, 2009 02:43 下午 GMT +8
And a comment!
Your name
Your mail (will not be published)
Your website