Ninja Pumpkin Mutants

    audiobuffer-to-wav
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/audiobuffer-to-wav package

    1.0.0 • Public • Published

    audiobuffer-to-wav

    stable

    Encodes the contents of an AudioBuffer from the WebAudio API as WAVE. Supports 16-bit PCM and 32-bit float data.

    The code for this has been adapted from the export feature of Recorder.js.

    PRs welcome.

    Install

    npm install audiobuffer-to-wav --save

    Example

    var toWav = require('audiobuffer-to-wav')
    var xhr = require('xhr')
    var context = new AudioContext()
     
    // request the MP3 as binary
    xhr({
      uri: 'audio/track.mp3',
      responseType: 'arraybuffer'
    }, function (err, body, resp) {
      if (err) throw err
      // decode the MP3 into an AudioBuffer
      audioContext.decodeAudioData(resp, function (buffer) {
        // encode AudioBuffer to WAV
        var wav = toWav(buffer)
        
        // do something with the WAV ArrayBuffer ...
      })
    })

    See the demo for an example of loading MP3, decoding it, and triggering a download of the encoded WAV file.

    A more advanced example might be to write the file using Node and Electron or hihat, i.e. an easy way to convert MP3/OGG/etc to WAV.

    Usage

    NPM

    arrayBuffer = encodeWAV(audioBuffer, [opt])

    Encodes the AudioBuffer instance as WAV, returning a new array buffer. Interleaves multi-channel data, if necessary.

    By default, exports with 16-bit PCM (format: 1). You can specify opt.float32 instead, which will write format 3 with 32-bit float data.

    License

    MIT, see LICENSE.md for details.

    Install

    npm i audiobuffer-to-wav

    DownloadsWeekly Downloads

    5,136

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • mattdesl