W3C home > Mailing lists > Public > public-audio@w3.org > October to December 2011

WebAudio feedback and suggestions

From: Jonathan Baudanza <jon@jonb.org>
Date: Tue, 15 Nov 2011 19:45:27 -0800
Message-ID: <CAP26MZuYfjg=JDQNe7DrmtezFgq8RT4D4+KE-FsoMdF0NYOxZQ@mail.gmail.com>
To: public-audio@w3.org
Hello!

I'm working on porting www.beatlab.com to the WebAudio API.  Beatlab is a
web based collaborative sound sequencer.  It is currently built with HTML
and JavaScript with a hidden Flash component to do the audio manipulation.

Thank you to everyone that has worked on this spec.  I'm looking forward to
the day when I can move entirely off of flash.

I'd like to offer a few points of feedback and suggestions.

== Cross domain issues ==
The cross domain issues with XMLHTTPRequest are a huge hurdle for using
WebAudio with any app that hosts sound files on a separate asset host.  I
am currently using an IFRAME/postMessage workaround, but it's not
sustainable and/or portable.

Ideally, I would like to be able to pull an audio buffer out of an <audio>
element.  MediaElementAudioSourceNode looks promising, but I don't think it
supports this functionality

== Scheduling events ==
I could really use a something like the JavaScriptCueNode that Joe
Berkovitz suggested here:

http://lists.w3.org/Archives/Public/public-xg-audio/2010Oct/0015.html

I'm currently making awkward use of setTimeout() to poll
content.currentTime.  This goes haywire if window.alert dialog shows up.  I
may try using a JavaScriptAudioNode to to simulate JavaScriptCueNode.

== noteOn semantics ==

I would like to change the behavior of noteOn in the case where `when` is
less than `currentTime`.

If I call noteOn(5) at time 8, then I think my buffer should start playback
immediately at buffer offset 3.

If a caller bothers to specify an exact time for playback, then the caller
is more concerned with synchronization than he or she is concerned with
playing back the entire buffer from the beginning.

If a caller is more concerned with playing back the buffer from the
beginning.  Then he or she would call noteOn(0).  I also think this might
be better expressed as noteOn() without the 0.

I realize I could accomplish this with noteGrainOn(), but I think changing
the semantics of noteOn would help to better reflect the intention of the
caller.
Received on Wednesday, 16 November 2011 08:36:41 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 16 November 2011 08:36:50 GMT