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

时间:2020-03-05 18:53:24  来源:igfitidea点击:

我有许多要合并为单个文件的mp3文件。我用过命令行方法

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

但是当它们很多并且它们的名称不一致时,这是很痛苦的。时间似乎也永远不会到来。

解决方案

回答

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

我们是否有想要使用的选择语言,或者这无关紧要?这将影响哪些可用库支持所需的操作。

回答

就个人而言,我会通过选项-oac copy使用类似mplayer的音频传递

回答

正如托马斯·欧文斯(Thomas Owens)所指出的那样,简单地串联文件将使多个ID3标头分散在整个所产生的串联文件中,因此时间/比特率信息将完全错误。

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

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

也可以使用mp3splt工具将生成的文件拆分回其组成部分,mp3wrap会在IDv3注释中添加信息以允许这样做。

回答

MP3文件具有我们需要尊重的标头。

我们可以使用像开源音频库项目这样的库,并围绕它编写工具。
或者,我们可以使用了解Audacity之类的mp3文件的工具。

回答

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

回答

正如David所说,mp3wrap是必经之路。但是,我发现它不能解决音频长度标题,因此iTunes拒绝播放整个文件,即使所有数据都在那里。 (我合并了三个7分钟的文件,但最多只能看到前7分钟。)

我挖了这篇博客文章,其中解释了如何解决此问题以及如何从原始文件中复制ID3标签(mp3wrap本身会删除ID3标签)。或者仅复制标签(使用id3lib中的id3cp),请执行以下操作:

id3cp original.mp3 new.mp3

回答

我以前从未听说过mp3wrap。看起来很棒。我猜想某人也在某个地方也将其变成了gui。但是,为了回应原始帖子,我编写了一个使用COPY / b方法的gui。因此,在幕后,没有什么新鲜的东西,但是如果我们要合并的文件很多,那么该程序的目的就是减轻该过程的麻烦...并且我们不想重新编码和每组文件合并的比特率是相同的如果我们拥有(在Windows上),请在以下位置查看Mp3Merge:http://www.leighweb.com/david/mp3merge,查看是否正是我们所寻找的。

回答

使用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

回答

而不是使用命令行来做

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

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

copy /b *.mp3 output_name.mp3

假设我们同时撕裂了所有这些片段MP3,并且它们具有相同的音频设置。当我将.aa中的有声读物转换为单个.mp3时,对我来说非常有用。我必须将所有.aa文件刻录到9张CD,然后翻录所有9张CD,然后剩下大约90 mp3的文件。真的让A55感到痛苦。

回答

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

播放列表制作器正是这样做的,将它们解码并重新编码为组合的MP3. 它是为创建混合磁带或者简单播客而设计的,但是我们可能会发现它很有用。

(公开:我写了软件,如果我们购买Pro Edition,我会获利。Lite版本是一个有一些限制的免费版本)。