问题描述
我有一个大的mp3文件,该文件来自翻录完整的CD。我想将每首歌曲分成一个文件。找到一个可以自动分割文件,检测每首歌曲的开始和结束的软件,将是很棒的选择。
额外背景:
我尝试了mp3splt和audacity。第一个无法自动检测到歌曲,因此胆怯似乎无法做到。
我想将歌曲刻录到CD(mp3格式)中,然后在车载收音机中播放。它不支持任何奇特的东西,甚至没有USB连接器。
最佳方法
您可以使用Audacity中的”split”或”split new”功能将大mp3分成小块,然后将想要混音的音频部分分开以导出到另一个文件中。
在下一个屏幕截图中,我制作了一个新的立体声轨道,以便将拆分的音频放入另一个轨道(仅用于视觉目的),然后将音频的第二部分移至该轨道,并选择了一部分音频可以将其导出到新文件中。
您无需拆分音频即可将音频部分导出到其他文件中,只需选择音频并在“文件”菜单中选择“ “Export Selection””即可。
在下一个屏幕截图中,我正在按照上面的话说。
如果您还拥有CD,则可以使用”Sound Juicer”来完成每首歌曲的音频文件的翻录,这将允许您选择如何从CD翻录媒体。这样,每首歌曲您将拥有一个mp3文件。 Audacity可以轻松完成将所有歌曲混合成大文件的任务,以防万一您需要这样做。
Sound Juicer可以通过突触安装,也可以通过以下网址安装:http://burtonini.com/blog/computers/sound-juicer
此处放置了一个屏幕截图,以便您看到Sound Juicer的运行情况。 (对不起,我现在没有CD可以翻录,因此播放列表为空)
次佳方法
为此,Audacity较差-因为它的re-encodes mp3品质会降低。我使用ffmpeg剪切mp3-我相信它不会执行re-encoding:
-
开始时间,持续时间:
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
。
第三种方法
您说您尝试过mp3splt,但您已阅读the full manpage吗?
我问是因为-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
第五种方法
关于堆栈溢出的以下答案可能是相关的:
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
ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile
这需要您进行一些分析
第六种方法
我可以推荐mp3DirectCut。进行无损转换并在Wine下运行良好: