olofson / audiality2

A realtime scripted modular audio engine for video games and musical applications.
http://audiality.org/
zlib License
79 stars 5 forks source link

Noise as virtual waveforms in 'wtosc' #299

Open olofson opened 7 years ago

olofson commented 7 years ago

As pointed out in #151, the 'noise' wave puts 'wtosc' in a special noise generator mode, where the 'phase' register has no effect. 'wtosc' instances share a state global noise state, to ensure that multiple simultaneously running 'noise' waves generate different output.

While useful and handy for implementing "chip" sound effects and the like, this design pretty much violates the very idea that 'wtosc' is supposed to be a deterministic wavetable oscillator, and is not ideal when using the oscillator in offline wave rendering, and it's not usable at all if you want deterministic results in realtime contexts.

How about adding a new noise "wave," which behave like a prerendered wave of "infinite" length, with the 'phase' register properly implemented? That is, basically Perlin noise. (Like a non-cyclic version of #78.)