Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Channel AT is “special” #1221

Closed
baconpaul opened this issue Sep 25, 2019 · 5 comments
Closed

Channel AT is “special” #1221

baconpaul opened this issue Sep 25, 2019 · 5 comments

Comments

@baconpaul
Copy link
Collaborator

In regular mode, Channel AT is per synth
In MPE mode Channel AT is per voice
This was the fix I put in place with #1214
But it is still a bit odd because I can’t do things like modulate a voice LFO with channel AT since channel AT still believes it is scene level (which it is kinda).
So the #1214 fix is not complete.

@baconpaul baconpaul added the mpe label Sep 25, 2019
@mkruselj
Copy link
Collaborator

I think a more correct way to say it is that in MPE mode Channel AT is per channel, because that's exactly how it is. And you can still set max polyphony to more voices than MPE can handle (which is 15), so maybe this is something that should also be sorted out - when MPE is enabled, any polyphony setting above 15 should be clipped to 15 temporarily while MPE is enabled.

@baconpaul
Copy link
Collaborator Author

First half is correct, but the polyphony idea is not quite right since voices have releases. So the trick really is when you have routing on a new voice don’t send it to a voice which is still in release state. That’s even trickier.

But no reason you can’t have 64 voice polyphony if you are playing rapid staccato MPE input with a long release. Just you want to make sure voice 37 doesn’t accidentally also modulate the release of voice 23 randomly.

Interesting. This part of the MPE implementation is still not quite right.

@mkruselj
Copy link
Collaborator

Aha right, you're correct, there are releases. So, still a bit more work to make MPE fully compliant, eh?

(That, plus release velocity support...)

@baconpaul
Copy link
Collaborator Author

I am not sure what I was looking at when I wrote this issue. But in the head of code you can modulate a voice LFO with channel AT no problem and with the fix I put in place to do channel AT properly, it works. I can bind LFO to pitch and channel AT to rate and on my roli the two voices get different rates by press. So I'm going close this issue. The only weird edge case is if you do send channel 0 channel AT you can route it to a voice; but that routing outside of MPE mode won't do anything.

@baconpaul
Copy link
Collaborator Author

Oh and similarly in MPE mode you can route your channel AT to a scene level param and only the channel 0 channel AT will impact the scene not the per voice. MPE is subtle. but I'm pretty sure we have this right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants