isomorphic wav data encoder
npm:
npm install wav-encoder
bower:
bower install wav-encoder
downloads:
constructor([format: object])
- format
bitDepth: number = 16
floatingPoint: boolean = false
- format
canProcess(format: object): string
encode(audioData: object, [format: object]): Promise<ArrayBuffer>
- audioData
sampleRate: number
channelData: Float32Array[]
- audioData
canProcess(format: object): string
encode(audioData: object, [format: object]): Promise<ArrayBuffer>
- audioData
sampleRate: number
channelData: Float32Array[]
- audioData
var fs = require("fs");
var WavEncoder = require("wav-encoder");
var audioData = {
sampleRate: 44100,
channelData: [
new Float32Array(100),
new Float32Array(100),
]
};
function arrayBufferToBuffer(buffer) {
return new Buffer(new Uint8Array(buffer));
}
WavDecoder.encode(audioData).then(function(buffer) {
fs.writeFileSync("foobar.wav", arrayBufferToBuffer(buffer));
});
<script src="/path/to/wav-encoder.js"></script>
var audioData = {
sampleRate: 44100,
channelData: [
new Float32Array(100),
new Float32Array(100),
]
};
function arrayBufferToBase64(buffer) {
return btoa([].slice.call(new Uint8Array(buffer)).map(String.fromCharCode).join(""));
}
WavEncoder.encode(audioData).then(function(buffer) {
new Audio("data:audio/wav;base64," + arrayBufferToBase64(buffer)).play();
});
MIT