繁体   English   中英

使用NAudio for .NET如何删除mp3文件末尾的静音?

[英]Using NAudio for .NET how do I remove the silence wave at the end of mp3 file?

我正在开发一个C#WPF应用程序,它将一组单词(大约17,000个单词)组合在一起,并生成一个匹配mp3文件的播放列表(每个mp3文件都是一个单词)。

目前,每个mp3文件在其波形结束时具有1秒到30秒之间的随机静音。

我希望能够以编程方式从文件末尾删除静音波。

使用NAudio for .NET如何从mp3文件的末尾删除静音?

修剪MP3文件有两种方法。 第一种方法是使用Mp3FileReader将音频读出为WAV,并且只使用WaveFileWriter将您想要的数量写入新的WAV文件。 然后你会使用LAME.exe之类的工具转换回MP3,因为NAudio不包含MP3编码器。

第二种是丢弃Mp3Frame,并且具有不需要解码和重新编码的优点。 MP3文件由一系列Mp3Frame组成(并且可选地在开头或结尾处具有诸如ID3标签之类的元数据)。 然后,您可以通过将所需的MP3帧附加到新文件中,跳过最后一个(并且可选地确保您的ID3标签包含在截断的文件中)来创建新的MP3文件。 查看Mp3FileReader的源代码,了解如何从MP3文件中逐个读取Mp3Frame。

我完成了使用SoX

SoX Silence的文档: http ://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/

Soso Silence的Stackoverflow帮助参考文件结束: https ://stackoverflow.com/a/11834671/677607

使用C#执行命令行: https //stackoverflow.com/a/1469790/677607

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM