,需要使用scipy库中的信号处理模块(scipy.signal)和绘图模块(scipy.plot)来实现。
首先,我们需要导入所需的库和模块:
import numpy as np
import scipy.io.wavfile as wav
import scipy.signal as signal
import matplotlib.pyplot as plt
接下来,我们需要加载音频文件并获取其采样率和音频数据:
# 加载音频文件
sample_rate, audio_data = wav.read('audio.wav')
然后,我们可以使用scipy库中的信号处理模块来计算音频数据的频谱:
# 计算频谱
frequencies, times, spectrogram = signal.spectrogram(audio_data, sample_rate)
最后,我们可以使用matplotlib库中的绘图模块来绘制频谱图:
# 绘制频谱图
plt.pcolormesh(times, frequencies, 10 * np.log10(spectrogram))
plt.xlabel('Time [s]')
plt.ylabel('Frequency [Hz]')
plt.colorbar(label='Power Spectral Density [dB]')
plt.show()
这样就可以在scipy中重现sox谱图了。
推荐的腾讯云相关产品:无
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云