promise-based wav encoder
$ npm install wav-encoder
encode(audioData: AudioData, [opts: object]): Promise<ArrayBuffer>audioDatashould contain two fieldssampleRateandchannelData.optsis an optional parameter which used to design the output wav format.opts.bitDepththe number of bits of information in each sampleopts.floatencode to float valuesopts.symmetricencode to symmetrical values (see #10)- The default format is
{ float: false, bitDepth: 16 }
encode.sync(audioData: AudioData, [opts: object]): ArrayBuffer- synchronous version
interface AudioData {
sampleRate: number;
channelData: Float32Array[];
}const fs = require("fs");
const WavEncoder = require("wav-encoder");
const whiteNoise1sec = {
sampleRate: 44100,
channelData: [
new Float32Array(44100).map(() => Math.random() - 0.5),
new Float32Array(44100).map(() => Math.random() - 0.5)
]
};
WavEncoder.encode(whiteNoise1sec).then((buffer) => {
fs.writeFileSync("noise.wav", new Buffer(buffer));
});MIT