Skip to content

Instantly share code, notes, and snippets.

@corruptmem
Created March 10, 2011 17:13
Show Gist options
  • Save corruptmem/864477 to your computer and use it in GitHub Desktop.
Save corruptmem/864477 to your computer and use it in GitHub Desktop.
Audio processing (FF4)!
<!doctype html>
Please select an audio file: <input type='file' id='file'>
<script src='http://code.jquery.com/jquery-1.5.1.js'></script>
<script src='https://github.com/corbanbrook/dsp.js/raw/master/dsp.js'></script>
<script type='text/javascript'>
var fileElement = document.getElementById('file');
var sampleRate = 44100;
var frameSize = 4096;
var signal = new Float32Array(frameSize/2);
var buffer = [];
var output = new Audio();
if ( typeof output.mozSetup === 'function' ) {
output.mozSetup(1, sampleRate);
}
var filter = new IIRFilter(DSP.LOWPASS, 22050, 0, 44100);
filter.set(6000, 100);
console.log(filter)
//var playerElement = document.getElementById('filePlayer');
fileElement.addEventListener("change", function(files) {
var files = this.files;
var playerElement = new Audio();
playerElement.src = window.URL.createObjectURL(files[0]);
playerElement.addEventListener('MozAudioAvailable', function(event) {
var signal = DSP.getChannel(DSP.MIX, event.frameBuffer);
filter.process(signal);
output.mozWriteAudio(signal);
}, false);
playerElement.addEventListener('loadedmetadata', function() {
playerElement.play();
playerElement.muted = true;
}, false);
}, false);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment