SynthMaker

Instancing modules at runtime

Archive · 2005 3 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

whyterabbyt ·

Seeing as how the SM engine is effectively dynamic, will it be able to support multiple instancing of modules whilst running.

Im thinking about situations like a sequencer, EQ, vocoder, mixer, or even additive synth where you could have a switchable number of filters/oscillators/steps/strips/whatever.

In a traditional modular-type system (eg Reaktor) you'd have to set a maximum number of 'whatevers', and switch some of them off. If SM were able to support some sort of instancing you could dynamically create the right number on the fly drastically reducing the complexity....

I guess it would have to be implemented as a svariant module with a 'number of instances' control input.

The issue, I guess would be input/output handling. I reckon there are two ways of approaching this; dynamic or static. Static is obviously simpler; normally I'd expect multiple instances of a single component to occur either serially or in parallel. In parallel mode, the instance container module would just present a single sets of inputs and outputs, with summing occurring automatically at the output. In serial mode, instance N passes its output to instance N+1, or the output if its the final instance.

A dynamic system would be harder to implement, but still might be possible, I think. I guess it could be handled with an instance 'index', and something like a smart mux/demux inside and outside the instanced module. If the instance 'knows' how many instances there are, and which instance it is itself, then it should be able to input or output from a specific other instance, or the 'main' input or output outside the instanced block.

I know it sounds complex, but if the SM engine is dynamically optimising itself when code sections are enabled/disabled, then this isnt necessarily much more than that with some more book-keeping. I think 😉

whyterabbyt ·

Thinking about it, a generic method of doing this might also be applicable for voicing control and multitimbral operation...

malc ·

You're spot on there whyterabbyt. The dynamic compilation would allow for what you're suggesting but as you say the issue of input/output handling is a bit of a problem.

I'm sure this is something we will look at, although probably later down the line.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.