Modulation state immediately after note on #316
Unanswered
swesterfeld
asked this question in
Q&A
Replies: 1 comment 3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I am currently working on CLAP support for my SpectMorph plugin. I'd like to support per-note modulation as well. One issue I don't know how to deal with is that I've seen that Bitwig only sends modulation state updates every 64 samples. So this means that usually at the point where the note on event happens (these are sample accurate), I have no modulation state.
So for instance I get
So this means that for that parameter, there is a small amount of samples (24 in this example) that I have to process without knowing the modulation for this parameter. So the parameter will be rendered without any modulation for 24 samples, an then the modulation will make the parameter jump to some state due to modulation and then I get periodic modulation updates.
Now one could say that the time before the first modulation event arrives should be mostly inaudible, because 24 samples are really short. However, internally SpectMorph uses additive synthesis via inverse FFT, so to render the first 24 samples, it will fill up a whole buffer of audio data internally. The parameters to build that buffer are computed without any modulation (as for the very first sample, there is no modulation available). This means that there is a whole FFT buffer that is computed without any modulation, and this can be audible.
I am not sure how to proceed here, as I see no way of avoiding these audio glitches by doing something clever within my plugin? One solution would be to specify in the CLAP spec that hosts should always provide the modulation state of all parameters immediately after note on?
Beta Was this translation helpful? Give feedback.
All reactions