以编程方式将32位PCM转换为16位PCM

时间:2018-02-20 07:35:56

标签: node.js audio

所以我有一个48KHz的32位有符号立体声PCM,想把它转换成16位单声道PCM。如何通过二进制数据手动转换它?通过单击按钮,Audacity似乎没有问题,但我想通过文件的缓冲区数据来完成。

是否还有可以解决此问题的节点包?

1 个答案:

答案 0 :(得分:1)

要以编程方式将文件从32位转换为16位,您可以使用fluent-ffmpeg包 您可以使用 s16le 格式选项和 -ac 选项将输出格式指定为16位带符号PCM,以混合为单声道流。

例如,像这样:

const ffmpeg = require('fluent-ffmpeg');
ffmpeg('input.wav').inputOptions([
  '-f s16be',
  '-ac 1'
]).output('output.wav')
.run()