roc-streaming / roc-toolkit

Real-time audio streaming over the network.
https://roc-streaming.org
Mozilla Public License 2.0
1.09k stars 213 forks source link

Improve peak jitter calculations #776

Closed gavv closed 3 months ago

gavv commented 3 months ago

gh-712

See comments in JitterMeter for details on the algorithm.

QA: https://github.com/roc-streaming/qa/tree/main/manual/20241011_gh688_adaptive_latency

gavv commented 3 months ago

As discussed with Mike, this algorithm will be only temporary solution not to be released, as we're unable to conclude if it's generic enough, especially magic numbers that it uses.

Before releasing 0.5, we should do 2 changes:

  1. rewrite peak jitter calculation, most likely use histogram of scaled samples (e.g. using logarithm) instead of peak detector + quantile
  2. re-do QA
  3. replace MovAggregate with two classes: MovMeanStd and MovMinMax

Mike, could you create a task for (1)+(2)? No need to make it super specific, but would be nice if you can share what data you would like to see in QA reports (given that we still use current tooling) and some ideas for the new algorithm.