自从大二那年发现 AAC 格式音乐后就一发不可收拾,现在我的所有音乐文件里 MP3 屈指可数,大部分都是从无损文件转换过来的 AAC 格式。我最喜欢的 Windows 软件是 Foobar 2000 ,转换格式超级方便。转战 Ubuntu 之后我第一件事就是找 Foobar 2000 ,作者坚持只开发 Windows 版本软件我也可以理解,但是这样的话我那一堆还没转格式的音乐就遭殃了啊,我也不能每次增加新歌就去借用别人的 Windows 机器啊。

后来我在翻以前的 Foobar 2000 设置的时候发现音质最好的 AAC 是使用 Nero 编码器的 512kbps 、双通道编码的文件,而且 Nero AAC Codec 是有 Linux 版本的!所以后来我就苦逼地写脚本转换。。。

怨念啊……原来用 Foobar 的时候只要右键转换就帮你搞定了一切,输出临时文件啊、双通道编码、复制音频属性啊什么的。现在要自己动手了才发现根本不知道人家是怎么实现的。

所以现在在写一个图形界面的转换器,设定就是只能使用 Nero 编解码器的。项目地址在此:PyAACGUI

2014.07.19 更新本段内容

PyAACGUI 这个项目已经停止更新,推荐使用重新设计实现的 PyAACGUI2。 新项目可以使用多进程(多 CPU 核心)加快队列文件的转换,并且可以指定 Nero AAC Codec 的位置,对系统有洁癖的人士也可以放心使用。 目前实现的功能有:批量队列转换,就是可以选择很多文件排队转;自动清理临时文件,要是转换完留下一大堆临时文件会气死人的;转换进度提示;转换后删除源文件(可选);可指定临时文件存放位置(可以存放到 /dev/shm 加快速度);UI 的多语言支持(现在支简体中文和英文)。

然后说下怎么安装 Nero AAC Codec 。这个套件其实包含三个程序: neroAacEnc 是 AAC 编码器;neroAacDec 是解码器(可以从 AAC 文件解码出来 WAV 文件);neroAacTag 是标签读写程序,用于读写 AAC 文件的音频标签。

要安装这个的话有两种方法。一个是我自己用 Debreate 制作的 DEB 软件包,下载地址。用这个的话比较方便,我自己测试过,没有权限不对无法运行的问题,因为软件包在安装后会参照 sudo 程序修改 Nero 套件里程序的权限。

还有一种就是自己去 http://www.nero.com/eng/company/about-nero/nero-aac-codec.php下载压缩包。下载之后解压,进到 linux 文件夹下,把三个程序复制到 /usr/bin 下,然后参考 /usr/bin 下的其他二进制程序设置权限。

要注意的是,必须要修改权限,否则你自己在终端里用起来是没有问题,但是 root 用户就没法运行这些程序了,在其他程序里对它们的调用也会失败。