WAV通道数据值如何缩放?

时间:2017-07-13 21:11:13

标签: node.js audio wav

对于一个项目,我正在解码wav文件并使用数据通道中的值。我正在使用节点包" node-wav"。根据我的理解,值应该是数千,但我看到的值在-1和1之间缩放。如果我想要实际值,我需要将缩放值乘以某个数字吗?

我要问的部分原因是我仍然不完全了解WAV文件如何存储必要的数据。

1 个答案:

答案 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是缩放值。