我有一个音频文件,采样率为96KHz,持续时间为2分钟。它包含需要隔离和提取的不同事件的声音。
我使用以下代码绘制音频频谱图。
X = librosa.stft(audio)
Xdb = librosa.amplitude_to_db(abs(X))
plt.figure(figsize=(14, 5))
librosa.display.specshow(Xdb, sr=sr, x_axis='time', y_axis='hz')
#If to print log of frequencies
#librosa.display.specshow(Xdb, sr=sr, x_axis='time', y_axis='log')
plt.colorbar()
plt.show()
在上面的频谱图中,可以看到三个清晰的紫色矩形,每个矩形都与某种声音相对应。我想提取频谱图中指示的上述声音。