OmniBus! We'll make a buzzworder out of you yet!
If I can finally get some discussion on the ideas themselves going, allow me to be my own worst critic for a minute: throw out most everything written in the current draft of the paper, and let's start from these basic ideas:
1) Control signals are just like audio signals, run at the same rates, can be patched in the same way, and can be processed in the same way.
2) The DSP blocks to create and process control signals should be as atomic as possible, to allow for them to be used together both serially, in parallel, and recursively, so we can create complex new features out of simpler ones.
3) New DSP blocks (for control or audio) should be easy to code and integrate into the whole, if not by the sound designer, then at least by any programmer.
4) The parameters of the new DSP block should be accessible by the GUI and open to control from outside signals.
One idea for a DSP block would be a transfer function, with one input and one output, wherein the transfer function itself could be defined by a scripting language. For example, I could open a transfer function block and type in something like:
(That makes a falling exponential curve, right?) The input can be a timer, and the output will be a value that can then go on to control something else.
Another DSP block would be a signal scaler, where a signal input is scaled to fit a different range. Yet another block could be a continuous function to stepped output, using a table as the function. The opposite of that, stepped input to continuous output, would create a lag function, which is essential to many sound designs.
My CS teacher warned me about trying to make functions too atomic. The way I was heading (trying to make one neat thing do it all) would essentially require sound designers to become C++ coders. The whole idea was to avoid that, so a DCSP (Digital Control Signal Processing
) paradigm might work a lot better and get the same results (creating new features of the sampler as part of the sound design process).