如何程序性地将两个aac文件合并为一个?
我在找一个可以处理aac音乐文件的工具(就是iTunes用的那种)。
使用场景:我岳父只会用电脑下载有声书到他的iPod上,其他的都不碰。我教过他一些iTunes(Windows版)的基础知识,但他的音乐库乱得很。结果发现,iTunes是为了听播客和随机歌曲而优化的,并不适合有声书。
我想写一个脚本(最好是用python,不过其他语言也可以)来把他的有声书CD以合理的方式导入,合并每张CD的曲目成一个可以加书签的aac文件(.m4b?),然后再把这个文件添加到iTunes,这样它就能在有声书部分显示出来。
我已经弄明白了怎么和iTunes沟通(Windows里有一个COM接口,可以查查iTunes SDK)。通过这个接口,我可以用iTunes把CD转换成aac格式。但我在合并这些aac文件时遇到了麻烦,网上找不到合适的资料……
4 个回答
目前最强大的Python音频处理模块似乎是Python Audio Tools。下载后会有一些命令行工具,这些工具几乎可以满足你所有的需求,甚至可以用来提取音频,所以你也可以通过编写脚本来完成整个过程。这个模块本身也很强大,提供了一系列方便的功能来处理音频文件。如果你想继续用Python编写所有代码,学习他们的命令行工具的源代码后,你可能会学到足够的知识来实现你的目标。特别是,他们有一个工具可以处理任何编码格式的音频文件合并。(他们确实依赖FAAC/FAAD2来支持AAC格式,但这对于你找到的每个库都是一样的)
这不是直接和编程有关的内容(嗯,有点关系)。
iTunes已经有功能可以把东西合并成一条音轨(比如说有声书)。你可以看看这个链接:http://www.ehow.com/how_2108906_merge-cd-single-track-itunes.html
这个方法可以解决你眼前的问题,不过我想大家还是可以继续讨论怎么用程序来实现这个功能。
我创建了一个免费的程序,叫做“章节与诗句”,它可以把多个m4a(AAC格式)文件合并成一个带章节标记和元数据的m4b有声书文件。
如果你已经用iTunes把CD里的音乐转换成AAC格式(你说你已经做了),那么用我的软件接下来的步骤就很简单了。我就是为了这个目的和场景写的这个程序。你可以从www.lodensoftware.com下载它。
在尝试使用SlideShow Assembler、QT SDK和一堆其他命令行工具后,我最终决定自己开发一个应用程序,基于公开的MP4v2库。文件的合并和章节的添加都是通过MP4v2库来完成的。
制作一个适合iPod的有声书格式有很多细节需要注意,相关的信息很难找到。使用苹果的文档和开源库也会遇到一些挑战。
祝你好运。