I’m late to the party, but I only recently realized that this can be a mod voice with nb. This script on its own is amazing. As a playable voice on top of other scripts….holy shit. Thank you for all your hard work on everything @sixolet. Much appreciated. I’m slowly building a TouchOSC template as a makeshift screen to pair along with the mod. I can midi map with 2host instead of OSC.
I think I found the problem. It’s a hilarious one. For performance reasons, I used FSinOsc for the sine wave component of the voices. It has this “lovely” property where if you modulate the pitch it will change amplitude some. Higher pitch gives it a lower amplitude, and lower pitch gives it a higher amplitude. This effect isn’t all that strong, so I ignored it for the purpose of making a more efficient synth voice (a Pi 3b+ can’t effectively run 6 voices if I use the traditional SinOsc).
The problem is that the effect isn’t symmetric. I don’t fully understand it, but I gather that the amplitude increases when you lower the frequency more than it decreases when you raise the frequency, so if you’re constantly re-using the same synth to have an analog-style envelope retrigger in the voice allocator, you can raise and lower the frequency enough times that it is an exponentially strong effect and takes over the sound.
I just pushed a change to doubledecker that limits the number of times a voice is reused.
This… unfortunately will affect legato playing. I will consider what to do about that.
thanks for the fix and the killer synth!
And just pushed one more change to turn the voice reuse limit up to 100 for mono lines, because I think that’s the lesser of two evils, and anyway the problem mostly appears when the pitch changes a lot when the voice is reused.
Just curious, not requesting….has anyone uploaded a video of doubledecker with MidiFighter Twister?