波形图与频谱图
基于python绘制Sinéad O'Connor - Nothing Compares To You音频的波形图与频谱图
import librosa
import librosa.display
import matplotlib.pyplotas plt
import numpyas np
# 文件路径
file_path =r"D:\daku\波形图频谱图\NothingComparesToYou.mp3"
# 加载音频文件
y, sr = librosa.load(file_path,sr=None)
# 创建一个新的图形窗口
plt.figure(figsize=(14,8))
# 绘制波形图
plt.subplot(2,1,1)
librosa.display.waveshow(y,sr=sr)
plt.title('波形图')
plt.xlabel('时间 (秒)')
plt.ylabel('振幅')
# 计算短时傅里叶变换
D = librosa.stft(y)
# 将幅度谱转换为分贝刻度
S_db = librosa.amplitude_to_db(abs(D),ref=np.max)
# 绘制频谱图
plt.subplot(2,1,2)
librosa.display.specshow(S_db,sr=sr,x_axis='time',y_axis='log')
plt.colorbar(format='%+2.0f dB')
plt.title('频谱图')
plt.xlabel('时间 (秒)')
plt.ylabel('频率 (Hz)')
# 显示图形
plt.tight_layout()
plt.show()