ACTION-10: Develop a node-based test with a complex audio graph

Develop a node-based test with a complex audio graph

State:
open
Person:
Chris Rogers
Due on:
September 1, 2010
Created on:
August 25, 2010
Related emails:
No related emails

Related notes:

Develop a node-based test that uses a suitably complex audio routing graph.

Example: 4 audio sources are split into 8 channels, each channel is connected to a new processing node such as an IIR filter, gain-control, etc; these nodes are then merged back down into a stereo signal and played out through the speakers.

This code must work with the Webkit binaries and will be re-created in Firefox with JavaScript by another member of the group. The purpose of this task is to demonstrate the power of native audio processing vs. JavaScript in a high-performance situation. This results of this test will be measured.

Alistair MacDonald, 25 Aug 2010, 14:14:37

Alistair, I think that a good starting point for this type of comparison would be the box2d demo on my samples page:
http://chromium.googlecode.com/svn/trunk/samples/audio/index.html

This demo mixes multiple sources because several objects can be colliding at the same time. It also has gain change, a low-pass filter, and spatialized panning per-source. And it has a convolution reverb effect with the send gain to the reverb varying per-source.

Performance can be measured based on latency, audio glitching, and smoothness of the graphics.

I know that Corban had gotten this partially working with his audio.js porting layer which he announced on the mailing list here:
http://lists.w3.org/Archives/Public/public-xg-audio/2010Aug/0010.html

But I don't think he implemented the gain (volume) change and filter cutoff which varies based on how hard the objects impact. I also don't think that spatialized panning or the ambience (convolution) was yet implemented. But I think he had basic unity-gain mixing working.

Chris Rogers, 1 Sep 2010, 23:44:21

Display change log.


Chair, Coralie Mercier <coralie@w3.org>, Staff Contact
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <w3t-sys@w3.org>.
$Id: 10.html,v 1.1 2012/04/02 16:56:54 vivien Exp $