我正在尝试.wav使用 scipy 文件夹在 Python 中加载文件。我的最终目标是创建该音频文件的频谱图。读取文件的代码可以总结如下:
import scipy.io.wavfile as wav
(sig, rate) = wav.read(_wav_file_)
对于某些.wav文件,我收到以下错误:
WavFileWarning:无法理解块(非数据),跳过它。WavFileWarning) ** ValueError: 不完整的 wav 块。
因此,我决定使用 librosa 使用以下命令读取文件:
import librosa
(sig, rate) = librosa.load(_wav_file_, sr=None)
这适用于所有情况,但是,我注意到光谱图的颜色有所不同。然而,虽然它是完全相同的数字,但不知何故颜色颠倒了。更具体地说,我注意到当保持相同的功能来计算规格并仅改变我阅读的方式时,.wav就会出现这种差异。知道什么可以产生那种东西吗?这两种方法读取.wav文件的方式之间是否存在默认差异?
编辑:
(rate1, sig1) = wav.read(spec_file) # rate1 = 16000
sig, rate = librosa.load(spec_file) # rate 22050
sig = np.array(α*sig, dtype = "int16")
几乎有效的方法是将 sig 的结果与常数αalpha 相乘,该 alpha 是来自 scipy wavread 的信号的最大值与来自 librosa 的信号之间的比例。尽管信号速率不同。
慕姐4208626
HUH函数
相关分类