建议欢迎使用Python库将.wav 1 文件分割成时间分隔的片段。
1 实际的文件类型实际上并不是那么重要,我相信如果需要,我可以在不同类型之间进行转换。
答案 0 :(得分:3)
我会使用wave module打开文件,读取标题,找出10秒内有多少帧,然后读取那么多帧。将这些帧写入具有相同标题信息(长度除外)的文件,直到完成。
答案 1 :(得分:2)
我建议查看给定文件的数据结构,并在沿线的适当位置“切割”数据,这样就不会提前删除任何帧。
这意味着要查看记录的频率和比特率,并使用它来获得每帧的大小(以位为单位)。然后,您可以在不剪切单个帧数据的情况下拍摄音频片段。
Have a look at this SO posting。它建议将您的音频视为二进制读取字符串。因为它是一个字符串,你可以基本上复制,剪切和移动字符串,如你想要的新输出文件。
检查一下:http://docs.python.org/library/binascii.html
另外值得一看:https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
或者只是将其保留为二进制并使用字节数组。需要考虑头文件以及发生了什么,尽管每种格式都不同。 MP3很容易保持标题,因为它在数据之间交错:
http://en.wikipedia.org/wiki/Mp3#File_structure
好的,一堆东西。
最后:您无疑已经看过:http://sourceforge.net/projects/audiotools/
更新....
使用sourceforge.net
的音频工具链接中的bits_per_sample()
方法
- Returns the number of bits-per-sample in this audio file as a positive integer.
然后使用该信息和上面的一些信息将音频分成字节数组。然后,您至少可以准确地重建一些RAW音频数据。
您可以以位为单位取文件的长度并将其除以16.然后您可以使用一种方法根据时间以毫秒为单位划分数组。这听起来很复杂,但它确实是基本的数学。