读取wav文件 - 本机int16值不会加倍

时间:2014-01-04 20:27:41

标签: python c++ audio

是否可以提取与其库中的Python相同的值?

例如,我正在使用C ++并且设法从.wav文件中提取double类型的值,但是,在Python中工作时,值为int16格式。以下是我到目前为止的情况:

 uint16_t c;
 for(unsigned i=0; (i < size); i++)
 {
    c = (unsigned)(data[i]);
    rawSignal.push_back(c);
 }

这不起作用,因为在使用Python读取wav文件时:

w = wave.open(wavefile,"rb")
p = w.getparams()
s = w.readframes(p[3])
w.close()
sd = np.fromstring(s, np.int16)

我显示以下图表:

enter image description here

然而,使用上述方法,我得到以下内容:

enter image description here

注意:使用双精度值时,它会正确显示。那么有没有一种有效的方法将double转换为'uint16_t'格式?

0 个答案:

没有答案