我需要知道是否可以从WAV文件创建一个30秒的样本MP3。生成的MP3文件必须在开头和结尾处有一个淡出效果。目前使用ffmpeg,但找不到任何支持这样做的文档。请问是否有人能提供一个可以实现这个功能的软件名称(仅限CLI,*nix系统)?
这将会: 从第45秒开始的30秒(0:45.0 30)截取掉并且 淡入前5秒(0:5)和淡出最后5秒(0 0:5)并且 转换为mp3格式。 sox infile.wav outfile.mp3 trim 0:45.0 30 fade h 0:5 0 0:5
请查看SoX - Sound eXchange 我自己没有使用过,但我的一个朋友对它评价很高。从网页(由我突出显示)中得知:SoX是一个跨平台(Windows、Linux、MacOS X等)命令行实用程序,可以将各种计算机音频文件格式转换为其他格式。 它还可以对这些声音文件应用各种效果,作为额外的奖励,SoX可以在大多数平台上播放和记录音频文件。
最好的方法是在将WAV音频数据转换为MP3之前,对其应用30秒截断、淡入和淡出。如果您的转换库有一个接受样本数组的方法,则这非常容易完成。如果该方法仅接受WAV文件(内存中或磁盘上),则稍微困难一些,因为您必须学习WAV文件格式(编写很容易,但读取稍微困难)。无论哪种方式,将增益和/或衰减应用于时域样本数据(如WAV文件)比尝试将这些效果应用于频域数据(如MP3文件)要容易得多。当然,如果您的转换库已经完成了这些工作,最好只使用它而不必自己担心。