node package manager


Writes a wave header based on options/size to a buffer, returns buffer


Just generates a WAVE-file header, with the specified length as argument.

var header = require("waveheader");
//write to a normal fs.createWriteStream 
myFileStream.write(header(44100 * 8)); // 44100 khz * 8 seconds 
// using options (all available options listed) 
myOtherFileStream.write(header(22050 * 8) {
  sampleRate: 22050,
  channels: 2,
  bitDepth: 8

Also check out the module for generating tones as raw PCM data, tonegenerator.

Waveheader uses the 'debug' module to clean the output a bit. If running your program from the command line, and you wanna see the size written to the header, do DEBUG=waveheader node yourprogram.js