什么是合并MP3文件的最佳方式?
我有很多很多的MP3文件,我想合并成一个文件。 我使用了命令行方法
copy /b 1.mp3+2.mp3 3.mp3
但是当他们中的很多人和他们的命名不一致时,这是一个痛苦。 时间似乎永远也不会出现。
正如Thomas Owens所指出的那样,简单地连接文件会在整个连接文件中留下多个ID3头文件 – 所以时间/比特率信息将是错误的。
你将需要使用一个工具,可以结合你的audio数据。
mp3wrap将是理想的select – 它将MP3文件连接在一起,无需对数据进行解码+重新编码(这将导致audio质量的损失),并且还会智能地处理ID3标签。
生成的文件也可以使用mp3splt工具拆分回其组件部分 – mp3wrap将信息添加到IDv3注释中以允许此操作。
我知道这是一个古老的问题,但我已经得到了更好的答案。 大卫的答案是正确的,只是连接文件会留下散布在内部的ID3标签(虽然这通常不会影响播放,所以你可以做“copy / b”或在UNIX上“cat a.mp3 b.mp3”combined.mp3“在捏)。
但是,mp3wrap并不是将多个MP3合并为一个“干净”文件的正确工具。 实际上,它并没有使用ID3,而是将自己的自定义数据格式插入到MP3帧(“换行”部分)中,这导致播放问题,特别是在iTunes和iPod上。 虽然如果你让它们从头到尾运行(因为播放器将跳过这些是任意的非MPEG字节),文件将会播放得很好,但是文件持续时间和比特率将被不正确地报告,这会中断查找。 此外,mp3wrap会清除所有的ID3元数据,包括封面,并且无法使用正确的文件长度更新VBR标题。
mp3cat自己将产生一个好的连接数据文件(所以,比mp3wrap更好),但它也剥离ID3标签,并无法更新VBR标题与正确的长度的join文件。
下面是对这些问题和方法的一个很好的解释 (实际上有两个)来结合MP3文件,并产生一个原始的元数据完整的“干净”的最终结果 – 它的命令行,适用于Mac / Linux / BSD等。它使用:
- mp3cat将MPEGdataframe仅组合成一个连续的文件
- id3cp将所有元数据复制到组合文件中,最后
- VBRFix来更新VBR头。
对于Windowsgraphics用户界面工具,看看合并MP3 – 它照顾的一切。 (VBRFix也以GUI的forms出现,但是不join。)
使用ffmpeg或类似的工具将所有的MP3转换成一致的格式,例如
ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3 ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3
然后,在运行时,将文件连接在一起:
cat intermediateA.mp3 intermediateB.mp3 > output.mp3
最后,通过工具MP3Val运行它们来修复任何stream错误,而不强制完全重新编码:
mp3val output.mp3 -f -nb
时间问题与MP3文件的ID3标题有关,这是您的方法在复制整个文件时没有考虑到的问题。
你有select的语言,你想使用或没有关系? 这将影响支持所需操作的库。
我真正想要的是一个graphics用户界面来重新sorting,并将它们输出为一个文件
播放列表生产者正是这样做,解码和重新编码成一个组合的MP3。 它的目的是创build混合磁带或简单的播客,但你可能会觉得它有用。
(披露:我写了这个软件,如果你购买专业版的话,我就可以赚钱)。精简版是一个免费版本,有一些限制。
如果你想要一个简单的用户界面,使一个完全清洁的 MP3 免费的东西,我build议MP3乔伊纳 。
特征:
- 剥离ID3数据(ID3v1和ID3v2.x)并且不添加它自己的(不同于mp3wrap)
- 无损连接(不解码和重新编码.mp3s)。 不需要编解码器。
- 简单的用户界面(见下文)
- 低内存使用率(使用stream)
- 非常快(与mp3wrap相比)
- 我写了:) – 所以你可以请求function,我会添加它们。
链接:
- MP3乔伊纳网站: 在这里
- 最新的安装程序: 在这里
MP3文件有你需要尊重的标题。
你可以使用像开放源代码audio库项目的库,并围绕它写一个工具。 或者你可以使用一个工具来理解像Audacity这样的mp3文件。
大卫说, mp3wrap是要走的路。 但是,我发现它没有修复audio长度的头文件,所以即使所有的数据都存在,iTunes仍然拒绝播放整个文件。 (我合并了三个7分钟的文件,但是只有最初的7分钟。)
我挖了这篇博客文章 ,解释了如何解决这个问题,以及如何从原始文件复制ID3标签(本身,mp3wrap删除您的ID3标签)。 或者只是复制标签(使用id3lib的id3cp ),请执行以下操作:
id3cp original.mp3 new.mp3
我会用Winamp来做到这一点。 创build一个你想合并到一个文件的播放列表,select磁盘写入器输出插件,select文件名,你就完成了。 你将得到的文件将是正确的MP3文件,你可以设置比特率等
我以前没有听说过mp3wrap。 看起来很棒。 我猜是有人把它变成了一个gui。 但是,只是为了回应原来的post,我写了一个COPY / B方法的GUI。 所以,在封面下,太阳下没什么新鲜的东西,但是如果你有很多文件需要合并,那么程序就是让这个过程变得不那么痛苦,而且你不想重新编码,而且每一组文件合并是相同的比特率。 如果你有(而且你在Windows上),请查看Mp3Merge: http : //www.leighweb.com/david/mp3merge ,看看你在找什么。
就个人而言,我会使用类似mplayer的audio传递,但选项如-oac copy
而不是使用命令行来做
copy / b 1.mp3 + 2.mp3 3.mp3
你可以改用“重命名”来将所有的MP3片段重新命名为一系列基于某种计数器的命名。 那么你可以使用相同的命令行格式,但稍微改变一下:
复制/ b * .mp3 output_name.mp3
假设您同时撕下了所有这些片段MP3,并且它们具有相同的audio设置。 当我将.aa中的audio书籍转换为单个.mp3时,我工作得非常好。 我必须将所有.aa文件刻录到9张CD,然后刻录所有9张CD,然后剩下大约90张mp3。 在a55真的很痛苦。