Load and decode audiofiles using the Web Audio API.

Downloads in past


1.0.36 years ago6 years agoMinified + gzip package size for audiobuffer-loader in KB


Simple function to load and decode soundfiles using the Web Audio API. Supported filetypes are determined by the Web Audio API.


npm install audiobuffer-loader


Loading a file requires an AudioContext, and results in an object containing both the decoded AudioBuffer and the size of the file that was loaded.
import { loadAudioBuffer } from 'audiobuffer-loader';

const context = new AudioContext();

loadAudioBuffer(context, 'samples/orbit.mp3').then(result => {
  // result.audioBuffer
  // result.fileSize

Optionally, you can add a callback as the 3rd parameter to track the loading progress.
loadAudioBuffer(context, 'samples/orbit.mp3', progress => {
  // use progress

Note that this callback will not be fired at all during decoding (which happens after a file is loaded). This may not be noticable for smaller files, but when you have files containing many minutes of audio the progress will not change for a while.


The returned promise will be rejected when loading or decoding fails.

load more files

If you need to load multiple files, you might be interested in this sample manager.