基于音频的波形图与频谱图绘制

波形图与频谱图

基于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()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容