import matplotlib.pyplot as plt
import librosa.display
plt.figure(figsize = (14,5))
librosa.display.waveplot(x, sr = sr)
In[8]#谱图:谱图是通过视觉表示频谱的频率,声音或其它信号,因为它随时间变化。频谱图有时被称为声纹或语音图。当数据在3D中表示时,它们可以称为waterfalls。
#在二维阵列中,第一轴是频率,第二轴是时间。我们可以使用显示频谱图:librosa.display.specshow:
X = librosa.stft(x) #对信号进行短时傅里叶变换
Xdb = librosa.amplitude_to_db(abs(X))
plt.figure(figsize=(14,5))
librosa.display.specshow(Xdb, sr=sr, x_axis='time', y_axis='hz')
plt.colorbar()
In[9]#从轴表示频率(从0到10kHZ),横轴表示剪辑的时间,由于我们看到的所有动作都发生在频谱的底部,我们可以将频谱轴转换为对数轴。
plt.figure(figsize=(14,5))
librosa.display.specshow(Xdb, sr=sr, x_axis='time', y_axis='log')
plt.colorbar()
In[10]:#写音频:librosa.output.write_wav 将Numpy数组保存到wav文件, 下面举例说明它的用法。