合并mp3文件的最佳方法是什么?

时间:2008-09-15 13:02:39

标签: audio mp3

我有很多很多mp3文件,我想将它们合并到一个文件中。我使用了命令行方法

copy /b 1.mp3+2.mp3 3.mp3

但是当它们很多并且它们的命名不一致时会很痛苦。时间似乎永远不会出现。

12 个答案:

答案 0 :(得分:57)

David's answer是正确的,只是连接文件会让ID3标签分散在里面(虽然这通常不会影响播放,所以你可以“复制/ b”或在UNIX上“cat a.mp3 b。 mp3> combined.mp3“in a pinch)。

然而,mp3wrap并不是将多个MP3组合成一个“干净”文件的正确工具。它不是使用ID3,而是在MP3帧(“换行”部分)中插入自己的custom data format,这会导致播放问题,特别是在iTunes和iPod上。虽然文件播放回来,如果你让它们从头到尾运行(因为播放器将跳过这些是任意非MPEG字节),文件持续时间和比特率将被错误地报告,这会破坏寻求。此外,mp3wrap将清除所有ID3元数据,包括封面,并且无法使用正确的文件长度更新VBR标头。

mp3cat本身会产生一个很好的连接数据文件(因此,比mp3wrap更好),但它也会剥离ID3标签,并且无法使用正确的连接文件长度更新VBR标头。

以下是good explanation这些问题和方法(实际上是两个)组合MP3文件并生成“干净”的最终结果,原始元数据完好无损 - 它的命令行适用于Mac / Linux / BSD等它使用:

  • mp3cat仅将MPEG数据帧合并为一个连续文件,然后
  • id3cp将所有元数据复制到合并文件,最后
  • VBRFix更新VBR标题。

对于Windows GUI工具,请查看Merge MP3 - 它会处理所有事情。 (VBRFix也以GUI形式出现,但它没有加入。)

答案 1 :(得分:47)

正如Thomas Owens所指出的那样,简单地连接这些文件会在整个连接文件中分散多个ID3标题 - 因此时间/比特率信息将会出现严重错误。

您将需要使用可以为您组合音频数据的工具。

mp3wrap对此非常理想 - 它旨在将MP3文件连接在一起,而无需对数据进行解码+重新编码(这会导致音频质量下降),并且还会处理ID3智能标记。

使用mp3splt工具也可以将生成的文件拆分回组件部分 - mp3wrap将信息添加到IDv3注释中以允许此操作。

答案 2 :(得分:16)

使用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 工具运行它们来修复任何流错误,而无需强制完全重新编码:

mp3val output.mp3 -f -nb

答案 3 :(得分:5)

时间问题与MP3文件的ID3标题有关,这是你的方法在复制整个文件时没有考虑到的。

您是否有想要使用的语言或不重要的语言?这将影响支持所需操作的库。

答案 4 :(得分:4)

我真正想要的是重新排序它们并将它们作为一个文件输出的GUI

Playlist Producer正是如此,将它们解码并重新编码为组合MP3。它专为创建混合磁带或简单播客而设计,但您可能会发现它很有用。

(披露:我编写了软件,如果您购买专业版,我会获利.Lite版是免费版,但有一些限制。)

答案 5 :(得分:3)

MP3文件包含您需要尊重的标题。

您可以使用像Open Source Audio Library Project这样的库并在其周围编写工具。 或者你可以使用一个能理解像Audacity这样的mp3文件的工具。

答案 6 :(得分:3)

如果你想要 免费 ,只需要一个简单的用户界面来制作一个完全干净的 mp3,我推荐MP3 Joiner

功能

  • 剥离ID3数据(ID3v1和ID3v2.x)并且不添加它自己(与mp3wrap不同)
  • 无损连接(不解码和重新编码.mp3s)。无需编解码器。
  • 简单的用户界面(见下文)
  • 内存使用率低(使用流)
  • 非常快(与mp3wrap相比)
  • 我写了:) - 所以你可以请求功能,我会添加它们。

MP3 Joiner app

链接:

  • MP3 Joiner网站:Here
  • 最新安装程序:Here

答案 7 :(得分:2)

正如大卫所说,mp3wrap是要走的路。但是,我发现它没有修复音频长度标题,所以iTunes拒绝播放整个文件,即使所有数据都在那里。 (我合并了三个7分钟的文件,但它只查看了前7分钟。)

我挖出了this blog post,它解释了如何解决这个问题,以及如何从原始文件中复制ID3标签(就其本身而言,mp3wrap会删除您的ID3标签)。或者只是复制标签(使用来自id3lib的id3cp),执行:

id3cp original.mp3 new.mp3

答案 8 :(得分:1)

我会用Winamp来做这件事。创建要合并到一个文件的播放列表,选择Disk Writer输出插件,选择文件名,然后就完成了。您将获得的文件将是正确的MP3文件,您可以设置比特率等。

答案 9 :(得分:1)

之前我没有听说过mp3wrap。看起来很棒。我猜是有人在某个地方把它变成了一个gui。但是,为了回应原帖,我写了一个用COPY / b方法做的gui。所以,在阳光下,没有什么新东西,但是如果你有很多文件要合并,程序就是让这个过程不那么痛苦...你不想重新编码和每组文件合并是相同的比特率。如果你有(并且你在Windows上),请查看Mp3Merge:http://www.leighweb.com/david/mp3merge并查看这是否是您正在寻找的。

答案 10 :(得分:0)

就个人而言,我会使用像mplayer这样的音频传递选项,例如-oac copy

答案 11 :(得分:0)

而不是使用命令行来执行

  

复制/ b 1.mp3 + 2.mp3 3.mp3

您可以使用"The Rename"将所有MP3片段重命名为基于某种计数器的一系列名称。然后你可以使用相同的命令行格式,但稍微更改为:

  

copy / b * .mp3 output_name.mp3

假设您同时撕掉了所有这些片段MP3,并且它们具有相同的音频设置。当我将.aa中的音频书转换为单个.mp3时,对我来说很有用。我不得不将所有.aa文件刻录到9张CD然后翻录所有9张CD然后我剩下大约90张MP3。真是a55的痛苦。