import librosa
import librosa.display
import matplotlib.pyplot as plt
# 加载音频文件
audio_path = 'path/to/audio/file.wav'
audio, sr = librosa.load(audio_path)
# 提取音频振幅信息
amplitude = librosa.amplitude_to_db(librosa.stft(audio), ref=np.max)
# 绘制振幅图
plt.figure(figsize=(12, 4))
librosa.display.specshow(amplitude, sr=sr, x_axis='time', y_axis='log')
plt.colorbar(format='%+2.0f dB')
plt.title('振幅图')
plt.xlabel('时间 (秒)')
plt.ylabel('频率 (Hz)')
plt.tight_layout()
# 在指定的时间点上添加标记
time_points = [2.0, 5.0, 8.0] # 指定的时间点,单位为秒
for t in time_points:
plt.axvline(x=t, color='r', linestyle='--')
# 显示图形
plt.show()
绘制音频振幅图
于 2023-09-28 14:59:39 首次发布