Right now Cybin calls a Lua function called __process(sr) that accepts the current sample rate and returns a float representing a single audio sample. Not only should this be modified to support multichannel audio, there should be a way to configure how audio is passed from Lua to the underlying audio system and what that system's responsibilities are.
For instance, perhaps we would rather work with an audio buffer of size N that provides frequency domain and time domain representations instead of a stream of samples.
Right now Cybin calls a Lua function called
__process(sr)
that accepts the current sample rate and returns a float representing a single audio sample. Not only should this be modified to support multichannel audio, there should be a way to configure how audio is passed from Lua to the underlying audio system and what that system's responsibilities are.For instance, perhaps we would rather work with an audio buffer of size N that provides frequency domain and time domain representations instead of a stream of samples.