DynamicsCompressorNode and latency

In http://www.w3.org/2012/05/30-audio-minutes.html Chris R said: "The
dynamics processer has a small look-ahead latency."
This small remark has large implications. No other node does any kind of
lookahead or latency compensation right now. Supporting lookahead causes
problems when you have cycles (depending on the total delay around the
cycle(s) compared to the total lookahead in the cycles). There are also
issues where a node doing lookahead has looked ahead in some source stream,
and then something changes in the graph which means the data it looked it
isn't actually valid anymore. (Given that chaining nodes with lookahead can
require arbitrary lookahead on a source node, a whole host of issues would
arise.)

It had seemed to me that Web Audio was designed around the assumption that
the output of a node for sample T could only depend on the values of its
input nodes at samples T' <= T. I'm disturbed to find that's not the case.
I hope I've completely misunderstood the situation.

In any case, the details of this "look-ahead latency" need to be in the
spec to ensure that everyone does it the same way. Currently it isn't
mentioned in the spec at all.

Rob
-- 
“You have heard that it was said, ‘Love your neighbor and hate your enemy.’
But I tell you, love your enemies and pray for those who persecute you,
that you may be children of your Father in heaven. ... If you love those
who love you, what reward will you get? Are not even the tax collectors
doing that? And if you greet only your own people, what are you doing more
than others?" [Matthew 5:43-47]

Received on Friday, 6 July 2012 01:54:38 UTC