我正在使用nodeJS库naudio -link-来录制来自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,但似乎遇到了困难。
发布于 2018-01-26 21:43:58
该插件是一个名为portaudio的C++库的包装器,根据其documentation,该库支持写入WAV文件。
您可以做的是扩展插件并将NodeJS函数绑定到写入WAV的底层C++函数。如果这是一个问题,这将给你一个很好的性能。
如果您想使用更简单的方法,可以查找执行转换的实用程序,并使用this之类的ex在脚本中调用它们
https://stackoverflow.com/questions/48290394
复制相似问题