我该如何拆分mp3文件?

我有一个很大的mp3文件来自翻录一张完整的CD。 我想把它分成每首歌一个文件。 找到一个可以自动分割文件,检测每首歌曲的开头和结尾的软件会很棒。

额外背景:

我试过mp3splt和大胆。 第一个无法自动检测歌曲,大胆似乎无法做到。

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

您可以通过在大胆中使用“拆分”或“拆分新”function将大型mp3分成小块,然后将要混合的音频部分移动到另一个文件中以便将其导出。

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

在此处输入图像描述

您无需拆分音频以将音频部分导出到其他文件中,只需选择音频并在“文件”菜单中选择“导出选择”即可。

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

在此处输入图像描述

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

Sound Juicer可以通过synaptic安装或潜入网站: http : //burtonini.com/blog/computers/sound-juicer

屏幕截图放在这里,以便您看到Sound Juicer的运行情况。 (对不起,我现在没有CD扯掉,所以播放列表是空的)

在此处输入图像描述

Audacity对此很不利 – 因为它重新编码了mp3并且质量降级了。 我使用ffmpeg来剪切mp3 – 我相信它不会重新编码:

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

你说你已经尝试过mp3splt,但是你读过完整的联机帮助页吗?

我问,因为-s沉默模式可以采取参数来帮助它确定沉默。

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

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

还有一个-c CDDB数据库查询模式。 如果这是已知CD,您可以从在线提取曲目列表。 这也将正确地命名曲目并且(我认为)它甚至会设置标签。

它是一个非常强大的工具,是保存质量的最佳选择之一……所以不要马上把它写下来。

你可以尝试类似的东西:

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

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

我的大文件名为“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文件还没有成功。

我可以推荐mp3DirectCut 。 无损转换并在Wine下运行良好:

截图

关于堆栈溢出的以下答案可能是相关的:

https://stackoverflow.com/questions/36074224/how-to-split-video-or-audio-by-silent-parts

总结这个答案,您可以使用ffmpeg来识别静默区域:

 ffmpeg -i "input.mov" -af silencedetect=noise=-30dB,d=0.5 -f null - 2> vol.txt 

然后使用Adobe的配方拆分文件:

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

这需要您进行一些解析

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

如果您没有.cue或带有歌曲限制的.cddb文件(例如,它不是可识别的专辑),您可以:

  1. 按照手册中的说明手动标记Audacity中的轨道,可能有助于之前的静音自动检测(使用Analyze> Silence Finder …,请参阅此处 ),以便在臭名昭着的rest时进行初步猜测
  2. 导出标签(使用文件>导出标签…,请参见此处 )到一个简单的文本文件,和
  3. 将选项-A下的.txt文件提供给mp3splt(如mp3splt -A labels.txt Album.mp3 )。

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

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