【问题标题】:Convert Raw to Wav Streams in NodeJS在 NodeJS 中将 Raw 转换为 Wav 流
【发布时间】:2018-06-25 16:50:17
【问题描述】:

我正在使用 nodeJS 库 naudiolink- 来录制来自 2 个麦克风的声音(总共 4 通道音频,每个麦克风都是立体声的)。这个库在以下规范中吐出一个.raw 文件:16 BIT, 48000Hz Sample Rate, Channel Count 4

// var portAudio = require('../index.js');
var portAudio = require('naudiodon');
var fs = require('fs');

//Create a new instance of Audio Input, which is a ReadableStream
var ai = new portAudio.AudioInput({
  channelCount: 4,
  sampleFormat: portAudio.SampleFormat16Bit,
  sampleRate: 48000,
  deviceId: 13
});

ai.on('error', console.error);

//Create a write stream to write out to a raw audio file
var ws = fs.createWriteStream('rawAudio_final.raw');

//Start streaming
ai.pipe(ws);
ai.start();

process.once('SIGINT', ai.quit);

我试图将其转换为两个单独的 .wav 文件,而不是 .raw 文件。使用上述编码和信息,最好的方法是什么?我试图四处寻找简单的方法来解交错并获取.wav,但似乎碰壁了。

【问题讨论】:

    标签: c++ node.js audio portaudio


    【解决方案1】:

    插件是一个名为 portaudio 的 C++ 库的包装器,根据其 documentation 支持写入 WAV 文件。

    您可以做的是扩展插件并将NodeJS 函数绑定到写入WAV 的底层C++ 函数。 如果这是一个问题,这将为您提供良好的性能。

    如果您想要一些更简单的东西,您可以查找执行转换的实用程序,并使用 ex 从您的脚本中调用它们,例如 this

    【讨论】:

      【解决方案2】:

      看起来类似于这个question

      您也可以看看here 以了解如何从 javascript 创建 wav 文件。

      【讨论】:

        猜你喜欢
        • 2018-12-16
        • 1970-01-01
        • 2017-07-03
        • 1970-01-01
        • 1970-01-01
        • 2017-08-23
        • 2016-05-23
        • 2020-02-13
        • 1970-01-01
        相关资源
        最近更新 更多