我正在开发一个程序,该程序需要一个 30 分钟的 wav 文件并分析它的各种事件。我有一堆 30 分钟的体育赛事 wav 文件,并试图自动查找某些事件发生的时间。
例如,以下是我希望尝试识别的事件:- 当目标或事件发生时,人群中会有噪音和欢呼声。我想返回这些事件发生的时间。- 或者当哨子吹响时- 能够识别长时间的完全沉默也会有所帮助
我一直在绘制这些音频样本的FFT,并得出结论,这并不能让我对这些事件有最好的了解。最好的过程是什么?
任何指导将不胜感激。
谢谢
希望以下步骤可以帮助您。
-
读取 WAV 文件:
在 Python 中读取 *.wav 文件
Python Wave 字节数据
-
检测声音:
使用python检测并录制声音
使用现场麦克风的 pyaudio 检测点击
Python 在检测到的声音上录制音频
-
确定声音块中的第一个异常点,例如:
sample_rate = 44100 wav_file_duration = 30*60 #in sec. first_abnormal_point_index = 20000
那么声音的开始是:
onset = first_abnormal_point_index/sample_rate * wav_file_duration
或者你也可以使用其他python包来做到这一点,比如莫代尔或奥比奥。