对于一个项目,我正在解码wav文件并使用数据通道中的值。我正在使用节点包" node-wav"。根据我的理解,值应该是数千,但我看到的值在-1和1之间缩放。如果我想要实际值,我需要将缩放值乘以某个数字吗?
我要问的部分原因是我仍然不完全了解WAV文件如何存储必要的数据。
答案 0 :(得分:3)
我不知道node.js是怎么回事,但通常音频数据存储在浮点值中,因此看到它在-1和1之间缩放是有意义的。
我从网站上提取的内容:
数据格式
数据始终以Float32Arrays的形式返回。在支持读写64位浮点WAV文件时,数据会被截断为32位浮点数。
如果你出于某种原因需要它,那就是字节序:
<强>字节序强>
这个模块假设有一个小端CPU,现在几乎每个处理器都是如此(特别是英特尔和ARM)。
如果您需要将它从浮点数整数扩展到定点整数,则可以将该值乘以位数。例如,如果您尝试转换为16位整数; $user_data = array(
'instructor_id' => $instructor_id,
'id' => $id,
'instructors_slug' => $username,
'name' => $name,
'logged_in' => true
);
,其中y = (2^15 - 1) * x
是数据值,x
是缩放值。