W3C home > Mailing lists > Public > public-audio@w3.org > April to June 2012

JavaScriptNode Delays

From: Matthew Paradis <Matthew.Paradis@bbc.co.uk>
Date: Wed, 2 May 2012 20:23:29 +0100
Message-ID: <C4D387E9A050D04C881F0DCCA1A5BB84060F91@bbcxues40.national.core.bbc.co.uk>
To: <public-audio@w3.org>
Hi All,

Second email for the day from myself and Chris Lowis who have been doing some work recently involving the JavaScriptNode.

We have noticed that a difference between the use of the JSNode and native nodes is an introduction of a delay equal to the block size of the node.
While this is not a problem for a linear graph which has no dependance on the phase accuracy of audio channels, it does cause a problem when phase is an issue.

We have found that it is necessary to use dummy/passthrough JS nodes to compensate for the delay.

The image at http://dl.dropbox.com/u/3279119/delay_example.png shows a simple example of basic phase cancellation and the steps we had to take to make it work.

Is this simply a requirement for passing the processing of audio off to JS?  Is it likely to effect any other nodes?

It might be worth highlighting this behavior in the documentation so that people are aware of the side effects of using the JSnode.

The good news is with the addition of the oscillator and negative gain value features we can replace our JS nodes with native nodes but this may not always be the case.

Best wishes

Matt

http://www.bbc.co.uk/
This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated.
If you have received it in error, please delete it from your system.
Do not use, copy or disclose the information in any way nor act in reliance on it and notify the sender immediately.
Please note that the BBC monitors e-mails sent or received.
Further communication will signify your consent to this.
					
Received on Wednesday, 2 May 2012 19:24:00 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 2 May 2012 19:24:01 GMT