我正在开发一个C# WPF应用程序,它将一组单词(来自大约17,000个单词)组合在一起,并生成一个与mp3文件(每个mp3文件都是一个单词)匹配的播放列表。
目前,每个mp3文件在其波形结束时都有1秒到30秒之间的随机静默。
我希望能够以编程方式删除文件末尾的静音波。
使用.NET的NAudio如何删除mp3文件末尾的静音波?
发布于 2012-10-30 05:16:44
我是用SoX完成的
针对SoX静默的文档: http://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/
SoX静默的堆栈溢出帮助参考文件结尾: https://stackoverflow.com/a/11834671/677607
使用C#的命令行执行: https://stackoverflow.com/a/1469790/677607
发布于 2012-10-24 22:12:21
有两种方法可以裁剪MP3文件。第一种方法是使用Mp3FileReader将音频读出为WAV,然后使用WaveFileWriter仅将所需数量的音频写入新WAV文件。然后,您可以使用LAME.exe等工具将其转换回MP3,因为NAudio不包含MP3编码器。
第二种是丢弃Mp3Frames,其优点是不需要解码和重新编码。MP3文件由一系列Mp3Frames组成(并且可以选择在开头或结尾具有元数据,如ID3标签)。然后,您可以创建一个新的MP3文件,只需将您想要的MP3帧附加到新文件中,跳过最后的帧(并可选地确保您的ID3标签包含在截断的文件中)。查看Mp3FileReader的源代码,了解如何从MP3文件逐个读取Mp3Frames。
https://stackoverflow.com/questions/13043732
复制相似问题