如何在scipy中获得一个音调的长度?

时间:2016-02-20 00:48:09

标签: python numpy scipy signal-processing audio-processing

我有一个有几种音调的信号,想知道给定音调的开始位置和结束位置。

首先,我正在应用带通滤波器并转换信号(fft),以便知道录音是否有音调。

现在,我在时域中得到滤波后的信号(图)。它是从0ms到276ms(红线)。请记住,这种音调可能会在时间上移动(从150到426毫秒)。

plt.plot(time_, np.abs(signal))

如何使用scipy检测音调的开始和结束位置?

1 个答案:

答案 0 :(得分:0)

确定“音调”的形式(运行fft,定义频率响应,执行信号合成)并运行互相关函数。您将能够检测到“音调”的出现,因为在“音调”开始后,互相关函数将具有更高的值(由于信号是周期性的,因此会上下移动)。