Live coding sample generation

I made a livecoding environment to manipulate/transform pattern data, and realized what a nice environment this is. (code snippets are cooler than a GUI with modular routing imo)

Can we make a live coding environment to make “synth patches” that generate synth instruments (xrni and only samples)? Preferably in a way that can generate a synth patch in one single statement, and then output+keymap to instruments.

I have a grasp of simple subtractive synthesis (osc+filter) as well as additive synthesis, but have of lately seen more exotic synthesis on this forum.

Maybe it’s time for a general framework that provide basic generators that people can modulate and blend creatively? What do you think?

I can take care of the housekeeping+sandboxing+gui, but the general syntax and statements need to be carefully considered.

(For this to take off, I think it has to be more than a one man show.)

2 Likes

i mean, i don’t think you’re looking for someone to script a sinewave with a loop, are you? you’re looking for far more, right?

Yes. You need to generalize a single simple loop into a class structure that makes it easy to generate various results, and is extendible.

One example is the “composite pattern” (nested calls in a hierarchy) which is a pattern that is seen in renoise.ViewBuilder and is excellent for gui layout (maybe synth too?), for example. Another pattern is using simple classes with methods, which goes a long way too.

I am very inclined towards composite pattern myself. Each nested layer is a “transformation” or a property (like adsr), and every sample can be rendered via the top node with a :render(pos) function.

Using a composite pattern to lay out audio, the two dimensions would manifest as “serial” and “parallel” (parallel being objects that are on the same level, in this case only used for blending or inter-modulation).

PS. One of the reasons I am suggesting this is because 99% of all synths and DAWs still model analog signals. With code you can do much more in terms of synthesis. Negative phase. Modulating/dynamic wavetables. Keytracked downsampling. … And I think this is an area where Renoise could become “interesting”, especially seeing some of the generators presented here over the years and lately.

3 Likes