将wav文件切成段

cutting a wav file into segments

本文关键字:文件 wav      更新时间:2023-10-16

我想写一个简单的程序,用一个中等大小的wav文件(60秒左右),把它切成1秒长的相同格式的片段(1.wav,2.wav,…等等)。。。有没有一个简单的C++或java库可以做到这一点?我不想操作头信息

封装在ffmpeg命令行实用程序中的Shell脚本。此外,sox

http://sox.sourceforge.net/

您可以使用AudioInputStream类来完成此操作。此外,请查看此网站以了解有关AudioInputStream的更多信息

查看libsndfile。另请参阅其他帖子。你会想要:

  • 删除WAV标头以访问原始PCM样本数据
  • 循环通过代表1秒音频的sample_rate样本,并将这些缓冲区打包到一个新的WAV文件(带标题)中,直到到达原始文件的EOF

HTH

ffmpeg有两个可能属于我们的标志:-t设置目标文件的持续时间,ss设置开始读取输入文件的点。

因此:

ffmpeg-t 2-i输入.mp3输出.mp3ffmpeg-ss 2-t 2-i输入.mp3输出.mp3

创建两个文件-一个包含input.mp3的前两秒,另一个包含从中的2秒开始的两秒input.ms3(即第二个两秒…)。

这些功能的组合可能可以从文件中获得您想要的内容。