Python 将音频文件切成10秒的片段

Python 将音频文件切成10秒的片段,python,audio,Python,Audio,欢迎提供有关如何使用Python库将.wav1文件分割为时间分隔段的建议 1实际的文件类型并不是那么重要,我相信如果需要,我可以在不同类型之间进行转换。我建议查看给定文件的数据结构,并在适当的位置“剪切”数据,这样就不会提前剪切帧 这意味着查看记录的频率和比特率,并使用它来获得每个帧的大小(以比特为单位)。然后,您可以在不剪切单个帧数据的情况下获取音频片段 。它建议将音频视为二进制读取字符串。由于它是一个字符串,您基本上可以根据需要复制、剪切和移动该字符串到新的输出文件中 看看这个: 也值得一看

欢迎提供有关如何使用Python库将.wav1文件分割为时间分隔段的建议


1实际的文件类型并不是那么重要,我相信如果需要,我可以在不同类型之间进行转换。

我建议查看给定文件的数据结构,并在适当的位置“剪切”数据,这样就不会提前剪切帧

这意味着查看记录的频率和比特率,并使用它来获得每个帧的大小(以比特为单位)。然后,您可以在不剪切单个帧数据的情况下获取音频片段

。它建议将音频视为二进制读取字符串。由于它是一个字符串,您基本上可以根据需要复制、剪切和移动该字符串到新的输出文件中

看看这个:

也值得一看:

或者将其保留为二进制并使用字节数组。需要考虑头文件以及它会发生什么,尽管每种格式都不同。MP3很容易保留标题,因为它在数据之间交错:

好的,一堆东西


最后:你肯定已经看到了:

更新

使用sourceforge.net音频工具链接中的
bits\u per\u sample()
方法

--
以正整数形式返回此音频文件中每个样本的位数。

然后使用该信息和上面的一些信息将音频分成一个字节数组。然后,您至少可以准确地重建一些原始音频数据


您可以将文件的长度以位为单位除以16。然后,可以使用一种方法根据时间(以毫秒为单位)划分数组。这听起来很复杂,但这确实是一个基本的数学问题。

我会使用打开文件,读取标题,计算出10秒内有多少帧,然后读取那么多帧。将这些帧写入具有相同标题信息(长度除外)的文件,直到完成。

那么实际文件是什么类型?@You
mp3
wav
,尽管我希望能够接受尽可能多的输入文件类型。相关问题:这是一个非常有用的答案。我没有接受它,因为它没有足够明确地回答问题,例如,没有详细说明库并可能提供使用说明。@Tim McNamara我已经更新了这篇文章,添加了一些链接。最后一个可能会给你带来一些快速的结果。没问题,我很乐意帮忙。