Skip to content

AudioEngine PerfGoals

Andy Harman edited this page May 14, 2019 · 1 revision

Requirements

  • We want to be able to run a full 6-voice emulation of the Juno 60 using the Chrome browser on a Google Nexus 2 tablet without audible glitches.
  • At 44100kHz, this gives us a maximum budget of 3ms per 128-sample frame.
  • We are using the Web Audio API's new Audio Worklet with normal JavaScript.

Principals

  • Try to keep expensive calculations (Sin, Cos, Power, etc.) and algorithms out of the main audio processing code.
  • Don't allocate/destroy lots of objects (to reduce the possible impact of garbage collection).

Clone this wiki locally