- From: Alistair Macdonald <al@bocoup.com>
- Date: Thu, 21 Apr 2011 18:31:29 -0400
- To: public-audio@w3.org
- Message-ID: <BANLkTim0+5YTdo0gGwPcdGKLHxcVr=AkEQ@mail.gmail.com>
Hi Chris Rogers, Digging a little deeper into the Web Audio spec here to build a few tests. Enjoying the API so far, it feels nice to work with. It also seems pretty glitch free (only tried OSX). I have two questions: 1) Can I download a Linux version from anywhere yet to test? (even if it is not release-ready) 2) Is there a better way generate simple tones from JavaScript than the following method? var context = new webkitAudioContext(), ptr = 0, jsProc = context.createJavaScriptNode( 2048 ); jsProc.onaudioprocess = function( e ){ var outl = event.outputBuffer.getChannelData(0), outr = event.outputBuffer.getChannelData(1), n = e.inputBuffer.getChannelData(0).length; for (var i = 0; i < n; ++i) { outl[i] = Math.sin((i+ptr)/40); outr[i] = Math.sin((i+ptr)/40); } ptr+=i; }; var source = context.createBufferSource(); source.connect( jsProc ); jsProc.connect( context.destination ); This seems to work, but I am unsure whether this is the ideal method for generating a simple tone with JavaScript? I'm asking because it feels a little odd to be using an event from a silent stream to generate the data. Perhaps I should be thinking of this event as the point in time where the audio engine calls for the mixing down all buffers connected to the context.destination, rather than thinking of it as new data being available to the stream? -- Alistair
Received on Thursday, 21 April 2011 22:32:59 UTC