1.0.6 • Published 1 year ago

wav-reader-ts v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

wav-decoder-ts

NPM Version License: MIT

promise-based wav decoder

Installation

npm install wav-decoder-ts

API

  • decode(src: ArrayBuffer, [opts: object]): Promise<{data: AudioData, format: Format}>
    • if provide an instance of Buffer, it is converted to ArrayBuffer like Uint8Array.from(src).buffer implicitly.
    • opts.symmetric decode to symmetrical values
  • decode.sync(src: ArrayBuffer, [opts: object]): {data: AudioData, format: Format}
    • synchronous version
Returns
interface AudioData {
  sampleRate: number;
  channelData: Float32Array[];
}

interface Format {
    formatId: number;
    floatingPoint: boolean;
    numberOfChannels: number;
    sampleRate: number;
    byteRate: number;
    blockSize: number;
    bitDepth: number;
}

Usage

const fs = require("fs");
const WavDecoder = require("wav-decoder");

const readFile = (filepath) => {
  return new Promise((resolve, reject) => {
    fs.readFile(filepath, (err, buffer) => {
      if (err) {
        return reject(err);
      }
      return resolve(buffer);
    });
  });
};

readFile("foobar.wav").then((buffer) => {
  return WavDecoder.decode(buffer);
}).then(function(wavData) {
  console.log(wavData.data.sampleRate);
  console.log(wavData.format.bitDepth);
  console.log(wavData.data.channelData[0]); // Float32Array
  console.log(wavData.data.channelData[1]); // Float32Array
});

License

MIT

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago