Now one thing I always wanted to have is parallel or serial processing in the instrument fx. Instead of being bound to just one filter with a single mod set, having the ability to put the sample through a series of filters. Or through multiple at once in parallel, then mixing the sound together in the end, or at the beginning or a new mod set.
The other addition I thought of was how to enhance doofers, so they could reflect a parallel processing mode of operation. So there would not just be a single lane of effects inside the device, but multiple which each can have their own set of devices and send channels in between. Together with the new feature of Renoise to support sidechain signals, it would be desireable to be able to route such signals into the doofer, as well, to be able to do sidechain processing inside of it from an outside channel.
For both concepts I have reflected on how such processing could be implemented in a non-breaking way concerning the interface paradigma, i.e. that the user could even optionally avoid or disable the features by sticking to default values or by hiding controls, so that no traditional user interface paradigma has to be broken or changed for the additional features to work.
The idea behind the concept of the extended modulation sets is to enable Renoise users to use the sampler like a synthesizer with greater (modular) modulation and filtering capabilities. The idea behind the doofer extension is to extend the renoise dsp fx modules to encapsulate more complicated and also sidechainable modular effects setups - a feature available for example in software like ableton.
The idea I have for extending the modulation filter capabilities to parallel/serial, is adding controls to each mod set for a pre and post routing of the signal. For the pre signal, I am thinking of a “daisy chaining” control, which could allow sending the signal of the input of a mod set to the input of another one, while of course still processing it. This is to implement serial processing, which can already be done in basic form by copying samples - the solution would allow having to duplicate the samples for a layered sound. At the same time it is modular in a way that you could daisy chain as many modsets as you want by just passing on the signal from the next modset to yet another one. The default option would just do nothing and could be hideable.
For the serial processing I propose an additional control that defines where the output of a mod set is routed. The hideable standard setting would be “Sample” which means the mod set is routed to where the sample would go, either directly to track or to the selceted instrument FX DSP lane for that sample - the default behavior now. Other option could include routing the output to another mod set instead. This will enable the user to process their samples in a serial way through multiple filters. A third kind of option would then enable the user to send the output to a selected DSP Fx chain, or to track directly, circumventing the setting from the sample that is fed into the stream. This option must be force-enabled somehow for a modulation set that has no sample associated to it, or the daisy and post-routing chain must be traversed and the destination could be taken from the most prominent sample of the sound stream.
The doofer solution involves adding an additional option to create additional effects lanes and to change the currently viewed to one of them when the doofer is expanded to show all DSP. Another useful proposition would be that of an “Ext. Editor”, which possibly could expand an UI similar to the instrument effects editor, either with an additional effects lane displaying the currently selected lane’s devices, or with the bottom effects lane switching it’s display in that mode. Sends and sidechain signals could be allowed just like in the instrument effects. To allow sidechain input, each lane could gain an option to receive such signals from a list of possible streams. This just on the scope of the whole doofer - to use internal sidechain devices, you’d then have to use another sidechain send inside the doofer.
Both concepts could be made to follow the Renoise top down left right enforcing routing paradigmas when it comes to sends.
Let me know what you think about these two theoretical additions to the Renoise sound engine.
I might try to create mockup images of the concepts later, to see how they might fit into the current UI