python 波形文件读取问题,为什么两种读取结果不一样

t = np.linspace(0,0.06,256)
sig = np.sin(50*np.pi*t)+np.sin(100*2*np.pi*t)+np.sin(250*2*np.pi*t)

sig输出结果是类似[0.00000000e+00 5.45494864e-01 1.03893792e+00 1.43493658e+00...]
但是从波形文件里面读取
f=wave.open(“test.wav”,'rb')
params = f.getparams()
nchannels, sampwidth, framerate, nframes = params[:4]

wavefile = f.readframes(nframes)

wave_data = np.fromstring(wavefile, dtype = np.short)
输出wave_data的值则是,[ 0 7940 15384 ..., 31997 30888 27848]怎么让波形文件能读取到前面类似sig的值啊

1个回答

最好都用字符串等方式读取,然后再来判断,直接浮点数,有不同的精度,表达方式等

fuyunkaka
fuyunkaka 啊?不能转换么?我想对浮点数操作,做傅里叶变换的。如果是字符串,不知道怎么弄
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐