是否可以提取与其库中的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)
我显示以下图表:
然而,使用上述方法,我得到以下内容:
注意:使用双精度值时,它会正确显示。那么有没有一种有效的方法将double转换为'uint16_t'格式?