Octave, detune, unison not updating in real time
-
I'm trying to build a simple subtractive synth using the Waveform Generator. When I use controls like octave, detune, or unison (in the Synthesiser Group), they don't have any effect while a note is being held. The changes only apply when I play the note again.
Is there a workaround for this? I'd like these parameters to update in real time, like in most other synths.
-
@DanSound No workaround currently. You'd have to implement your own synth in script node. You could try the stock pitch modulators but that will affect the whole synth rather than the 2 voices individually.
-
@DanH said in Octave, detune, unison not updating in real time:
No workaround currently. You'd have to implement your own synth in script node. You could try the stock pitch modulators but that will affect the whole synth rather than the 2 voices individually.
Well, looks like my “simple” project is turning into something way more complex than I expected
Thanks for clarifying though! -
@DanSound
You can modulate these parameters. Then they are updating in realtime. Maybe this is a workaround for your case. -
@Oli-Ullmann I've just tried this snippet https://forum.hise.audio/post/53520 hooked LFO to a knob controlling the number of voices. But it doesn't seem to work, the note just “locks in” the number of voices at the moment I hit the key, and it doesn't change as the LFO continuously modulates the knob.
-
@DanSound
Yes, of course this doesn't work for Unison, because a new voice has to be generated here. That's obviously not possible with modulation. But it does work for Octave and Detune. -
@Oli-Ullmann Yeah, but I need all of them to update in real time, just like any regular synth. It seems like the only way to do that is with the script node.
-
@DanSound
Yes, if you also want to update the unison voices, Scriptnode is the only solution I can think of. However, I don't know offhand how to implement this, since, as I said, a new voice has to be created or a voice has to be removed. -
@DanSound
Yes, there is a way without Scriptnode! You can useModulator.getCurrentLevel()to query the current value of the modulator. You can then use this to update the unison voices in a timer. It might also be possible using a globalCable, but I'm not familiar with that. -
@Oli-Ullmann Thanks! I'm not really into complex scripting, but hopefully chatgpt will help me out
I'll post an update if this works. -
@DanSound
I try to make you a snippet on the 2. of January :-) -
@Oli-Ullmann That would be awesome! Thank you. Meanwhile I'll try to do it myself, at least I'll learn something.