如何更改节点中PCM音频流的音量?

时间:2014-05-08 15:55:03

标签: node.js audio stream signal-processing pcm

我试图找出如何在节点中调整PCM音频流的音量级别。

我已经查看了npmjs.org所有可以找到的用于处理音频的模块,但是没有找到任何可以接收数据的内容,更改音量,并给我一个流。

是否存在可以执行此操作的任何模块,甚至可能甚至是某些不是专门针对它的模块? 如果没有,那么我可以创建一个模块,如果有人能指出我正确的方向来逐字节修改流。

这是我想要完成的事情: 我正在编写一个程序来接收几个PCM音频流,并将它们混合用于具有不同音量级别的多个输出。例如:

inputs       vol    output

music        25%    output 1 
live audio   80%    output 1
microphone    0%    output 1

music       100%    output 2 
live audio    0%    output 2
microphone    0%    output 2

1 个答案:

答案 0 :(得分:0)

您使用什么类型的连接? (会更容易提供示例代码)

您基本上想要做的是创建连接。然后在连接或请求对象上添加一个'数据的监听器。事件。如果您未设置编码,则回调上的数据参数应为Buffer。在通过网络传递每个块之后触发数据事件。

缓冲区使用常规的javascript数值为您提供对数据流的字节大小访问。然后,您可以解析该块,使用闭包将它们保存在多个数据事件的内存中(以缓冲多个块)。并在适当时将解析和处理的数据写入套接字(另一个套接字或双向套接字的情况下相同)。不要忘记管理你的关闭以避免内存泄漏!

这只是一个抽象的描述。如果有任何需要澄清,请告诉我。