Making Web Audio APIs More Competitive with native

Doug Schepers noticed some comments I had made on another list, and 
encouraged me to post them here.

Basically, I'd like to suggest that a goal be set of making Web Audio APIs 
comparable in capability with OS-native APIs such as Core Audio [1], ASIO 
[2], or maybe Direct Sound [3].

Stated differently, I think a goal should be to enable the creation of DAW 
software, if not quite at the Pro Tools [4] level, then at least as capable 
and robust as REAPER [5], using Web client technologies.  Similarly, it 
should be possible to implement audio mixing applications to control live 
performance with professional quality.

I am not deeply expert in the details of any of the native APIs used for 
such DAWs, but even as a novice, I can see certain technical 
characteristics that should be enabled:

* In the case where a multichannel digital audio interface such as MOTU 
[6]. M-Audio [7], Presonus [8], etc. is available, then Javascript should 
be able to get at all the streams.

* It should be possible to get at the full resolution that the device 
supports (e.g. 24 bit 192Khz 16 track sampling)

* Simultaneous recording from some channels while driving playback on others.

* Low latency is essential: it should be possible to sync all record and 
playback streams with very little time skew.

There may be other features needed.  My point is that the capabilities 
described above are widely available with commodity hardware and audio 
software on laptop-grade personal computers.  If the Web doesn't have the 
same capabilities, then it will be a 2nd class platform for audio 
applications.  The demos I've seen of early implementations of Web audio 
APIS are very cool, but they seem to target a much simpler use case, I.e. 
of filtering or imaging simple stereo streams as they are played by the 
browser.  Those don't seem to me to be sufficiently demanding if the Web is 
to be appropriately competitive with OS-native capabilities.

I do understand that the use of a language like Javascript may, at a given 
point in time and on a particular platform, limit the performance that can 
be achieved.  Still, my intuition is that modern systems are fast enough to 
build a respectable DAW using Web technologies, and in any case the APIs 
should be designed from the start to scale to such applications.

Noah Mendelsohn

[1] http://developer.apple.com/technologies/mac/audio-and-video.html
[2] http://www.steinberg.net/en/company/developer.html
[3] http://msdn.microsoft.com/en-us/library/bb318665%28VS.85%29.aspx
[4] http://www.avid.com/us/products/family/pro-tools
[5] http://www.reaper.fm/
[6] http://www.motu.com/products/motuaudio
[7] http://www.m-audio.com/index.php?do=products.family&ID=recording
[8] http://www.presonus.com/products/Detail.aspx?ProductId=5

Received on Wednesday, 8 December 2010 16:13:31 UTC