You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The AudioWorkletGlobalScope has currentTime to let the processor know the current time. It would also be very nice to have currentFrame that is the frame counter where currentTime = currentFrame/sampleRate.
For algorithms that need precise timing and complex computations wrt to time, using frames reduces round-off errors.
In Chrome, currentTime used to be accumulated each render quantum, causing a small round-off each time. This slight drift was noticeable after even a short time. Switching Chrome's internal implementation to count frames got rid a huge class of round-off errors.
Doing the same in Chrome's AudioParam implementation greatly reduced the small, but subtle issues in timing. Before fixing this, @hoch had an example where his synthesizer would suddenly stop producing output because of round-off in the audio param implementation. Changing the implementation to work with frames instead of time fixed this and a bunch of other issues.
The text was updated successfully, but these errors were encountered:
The
AudioWorkletGlobalScope
hascurrentTime
to let the processor know the current time. It would also be very nice to havecurrentFrame
that is the frame counter wherecurrentTime = currentFrame/sampleRate
.For algorithms that need precise timing and complex computations wrt to time, using frames reduces round-off errors.
In Chrome, currentTime used to be accumulated each render quantum, causing a small round-off each time. This slight drift was noticeable after even a short time. Switching Chrome's internal implementation to count frames got rid a huge class of round-off errors.
Doing the same in Chrome's AudioParam implementation greatly reduced the small, but subtle issues in timing. Before fixing this, @hoch had an example where his synthesizer would suddenly stop producing output because of round-off in the audio param implementation. Changing the implementation to work with frames instead of time fixed this and a bunch of other issues.
The text was updated successfully, but these errors were encountered: