Audio-ISSUE-85 (OscillatorFolding): Oscillator folding considerations [Web Audio API]

Audio-ISSUE-85 (OscillatorFolding): Oscillator folding considerations [Web Audio API]

http://www.w3.org/2011/audio/track/issues/85

Raised by: Philip Jägenstedt
On product: Web Audio API

It is not defined how the time-domain signal of an oscillator is generated. It would appear that the main reason for WaveTable being defined in the frequency domain is to allow for Nyquist-correct signal synthesis. For example, if the Oscillator frequency is 1000 Hz and the WaveTable has length 4096, the highest frequency component will be 4096 KHz, which could cause folding artifacts.

Depending on how the time-domain signal is generated, the anti-aliasing performed would sound very different.

For example, if the signal is generated in the naive way be looping over the output for each frequency component, one could simply stop before the Nyquist frequency. However, this approach could be very slow.

If nothing is done to prevent folding, the purpose of having a frequency-domain WaveTable at all is questionable.

Finally, should the built-in types (SINE, SQUARE, etc) also be generated using WaveTables internally and be subject to the same folding processing as custom WaveTables?

Received on Friday, 18 May 2012 10:17:13 UTC