当前位置: 首页>>技术教程>>正文


如何分割mp3文件?

,

问题描述

我有一个大的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下运行良好:

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11470.html,未经允许,请勿转载。