如何分割mp3文件?


35

我有一个大的mp3文件,该文件来自翻录完整的CD。我想将每首歌曲分成一个文件。找到一个可以自动分割文件,检测每首歌曲的开始和结束的软件,将是很棒的选择。

额外背景:

我已经尝试过mp3splt和audacity。第一个无法自动检测到歌曲,因此胆怯似乎无法做到。

我想将歌曲刻录到CD(mp3格式)中,然后在车载收音机中播放。它不支持任何奇特的东西,甚至没有USB连接器。


CD最初是文件的一大碎片,还是放在CD播放器中时是否有单独的轨道?
djeikyb 2011年


请注意,使用.cue文件加载该文件并单独播放每个曲目是另一种选择。
EarthmeLon

大胆可以通过识别歌曲之间的静音来检测歌曲。但是,最好再使用mp3splt对其进行拆分,以免对其进行解码和重新编码。请参阅下面的答案作为我的工作流程。
FairMiles

Answers:


14

您可以通过大胆地使用“拆分”或“拆分新”功能将大mp3拆分为小块,然后可以将希望混音的音频部分分开,以导出到另一个文件中。

在下一个屏幕截图中,我制作了一个新的立体声轨道,以便将拆分的音频放入另一个轨道(仅用于视觉目的),然后将音频的第二部分移至该轨道,并选择了一部分音频可以将其导出到新文件中。

在此处输入图片说明

您不必拆分音频即可将音频部分导出到另一个文件中,只需选择音频并在“文件”菜单中选择“导出选择”即可。

在下一个屏幕截图中,我正在按照上面的话说。

在此处输入图片说明

如果您还拥有CD,则可以使用“ Sound Juicer”来翻录每首歌曲带有文件的音频,这将使您选择如何从CD中翻录媒体。这样,每首歌曲您将拥有一个mp3文件。Audacity可以轻松完成将所有歌曲混合成大文件的任务,以防万一您需要这样做。

Sound Juicer可以通过突触安装或通过跳入网站来安装:http : //burtonini.com/blog/computers/sound-juicer

此处放置了一个屏幕截图,以便您看到运行中的Sound Juicer。(对不起,我现在没有CD可以翻录,因此播放列表为空)

在此处输入图片说明


48

Audacity在这方面很糟糕-因为它会重新编码mp3且质量会降低。我使用ffmpeg剪切mp3-我相信它不会重新编码:

  • 开始时间,持续时间:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile
    
  • 开始时间,结束时间:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -to 00:01:32 OutputFile
    

一个也可以包含毫秒,例如00:00:00.000


请查看注释以回答问题。
哈维尔·里维拉

从汽车立体声系统播放时可以听到单个有损转码,这是有争议的,但是无论如何使用,这都应该是一种方法。
Nit 2014年

2
仅供参考,如果您正在使用libav替换ffmpeg的发行版中,则这些参数将几乎与“ avconv”一起使用。需要注意的是,您必须将-ss参数放在-i参数之前。另外,请注意-t的参数是持续时间,而不是搜索时间。
ACK_stoverflow,2016年

@Adobe我喜欢这种方法。您知道是否可以指定毫秒粒度吗?我需要截断所有以相同不需要序列开头的mp3的第一部分。
frakman1

@ frakman1是要指定毫秒吗?像这样的:ffmpeg -i a.ogg -ss 00:01:02.500 -t 00:01:03.250 -c copy x2.ogg来源
的Adobe

32

您说您已经尝试过mp3splt,但是您已阅读完整的手册页吗?

我问是因为-s静音模式可以采用参数来帮助确定静音。

这是一个带有可选参数的手册页示例:

mp3splt -s -p th=-50,nt=10 album.mp3
  • th:阈值电平(dB)被认为是静音
  • nt 轨道数

还有-cCDDB数据库查询模式。如果这是已知的CD,则可以从网上获取曲目列表。这还将正确命名轨道,并且(我认为)它甚至可以设置标签。

这是一个功能强大的工具,是保持质量的最佳选择之一。因此,请不要立即取消它。


2
否。事实是,我只是使用了mp3split-gtk GUI。我看看他们。
哈维尔·里维拉,

厄运。GUI中唯一不可用的选项是为其提供轨道数。但是它只是忽略了它,发现了与GUI相同数量的音轨。
哈维尔·里维拉

9

您可以尝试类似:

ffmpeg -i /path/music.mp3 -t 00:10:00 -ss 00:20:00 -acodec copy /path/save.mp3


可以,但是我需要手动查找每首歌曲的时间。敢于做到这一点会更快,至少我可以看到这种趋势。
哈维尔·里维拉,

如果您想编写脚本,则ffmpeg可以帮助您
jchook

2

mp3splt效果很好。效果如何取决于您必须从什么开始以及对结果的期望。更多的投入=更多的产出。如果您知道大型mp3文件中包含的歌曲数量,这有助于告诉您输出文件的数量是正确的。大型mp3文件中的歌曲之间必须有静音部分。mp3splt的关键是找到“ th”的正确值。如果“ th”太低,则您的输出可能太多,因此所有歌曲都是零散的。如果太高,您的歌曲将不会被分割,并且您可能会在每一分割中播放多于一首歌曲。假设您有一个大文件,而没有其他内容:例如,没有标题或时间的索引。

我的大文件名为“ artist.ogg”,这是我使用的命令:

mp3splt -s -p th = -40 artist.ogg

这样一来,正确地分割了34首歌曲,每首歌曲依次命名为artist_silence_01.ogg -xx.ogg等。

同样,如果拆分过多,请尝试“ th = -48”。如果太少,请尝试“ th = -36”。

现在,需要从这些输出文件中将它们重命名为所需的歌曲标题,并在文件属性中添加标签。[我知道没有宏,因此必须是手动过程]。

希望这可以帮助。

更新PS。到目前为止,mp3splt适用于mp3和ogg文件。对于m4a文件,我还没有成功。




0

我通过Audacity + mp3splt获得了质量结果(尽管不是完全自动的)。

如果您没有.cue.cddb歌曲限制的文件(例如,它不是公认的专辑),则可以:

  1. 按照其手册中的说明手动标记Audacity中的曲目,可能是由于先前的静音自动检测(借助“分析”>“静音查找器”,请参见此处)来帮助您对臭名昭著的中断做出初步猜测
  2. 将标签导出(使用文件>导出标签…,请参见此处)到一个简单的文本文件,然后
  3. 将.txt文件提供给mp3splt选项-A(如mp3splt -A labels.txt Album.mp3)。

使用每个标签名称作为文件名,它将为每个段快速(没有解码+重新编码)输出文件。

只需小心使用区域标签(而不是点标签,请参阅此处)在Audacity中标记每首歌曲的开头和结尾。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.