# Audio-Resampler [![npm version](https://badge.fury.io/js/audio-resampler.svg)](http://badge.fury.io/js/audio-resampler) Simple WebAudio based resampling library. #### Runs on all [modern browsers which support WebAudio](http://caniuse.com/#search=audio-api). ## Installation `npm install audio-resampler` ## API ``` resampler = require('audio-resampler'); resampler(input, targetSampleRate, oncomplete); ``` `input` : Input audio file. This can either be a URL, a File object, or an AudioBuffer. `targetSampleRate` : The target sample rate after the re-sampling process. This number is limted based on the browser implementation (usually >=3000, <=192000) `oncomplete`: Callback when the resampling process is completed. The argument to this callback is an Object which supports the following methods: `getAudioBuffer` : Returns the resampler AudioBuffer `getFile` : Returns a ObjectURL of a WAV file created from the resampled Audio. ## Example Usage ``` resampler = require('audio-resampler'); var URL = "https://dl.dropboxusercontent.com/u/957/audio/sine.wav" resampler(URL, 192000, function(event){ event.getFile(function(fileEvent){ var a = document.createElement("a"); document.body.appendChild(a); a.download = "resampled.wav"; a.style = "display: none"; a.href = fileEvent; a.click(); window.URL.revokeObjectURL(fileEvent); document.body.removeChild(a); }); }); ``` ## Test To test this repository, you can run a local server using the `npm start` command which serves a simple drag-and-drop interface based webpage to resampler audio files.