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

cc140 treats keyswitch as previous note #1074

Closed
Windsurfer152 opened this issue Jan 19, 2022 · 10 comments · Fixed by #1113
Closed

cc140 treats keyswitch as previous note #1074

Windsurfer152 opened this issue Jan 19, 2022 · 10 comments · Fixed by #1113
Labels
bug Something isn't working
Milestone

Comments

@Windsurfer152
Copy link

I've been trying to simulate legato by using keyswitches.

Unreal Instruments Two Whistles has a "tongued" patch (named "Tanging") and
a "Fast legato" (Legato_Fast) patch, which creates a slight portamento into the main pitch based on cc140=30.

On a real instrument you might tongue the first note of a phrase to start the airflow and then moderate the airflow as you play subsequent legato notes in order to get them in tune. That's what I think the "Fast legato" tries to emulate.

Fast Legato works really well after the first note of the legato phrase, so the basic implementation is great. But if I hit the Fast Legato keyswitch first (obviously located at the other end of the keyboard from the sounding notes) I get a huge portamento into the first note.

Likewise if I hit the Tang keyswitch, play a note, hit the Fast Legato keyswitch and play another note I get the same huge portamento.

So it seems that cc140 is treating the keyswitch as the note number it uses to calculate the pitch delta.

Is it possible to only include notes that trigger samples so the note numbers of the keyswitches are ignored?

@paulfd paulfd added the bug Something isn't working label Jan 19, 2022
@paulfd paulfd added this to the 1.3.0 milestone Jan 19, 2022
@paulfd
Copy link
Member

paulfd commented Jan 19, 2022

Thanks for the report; I'll check out the behavior of other implementations and correct it if necessary !

@kinwie
Copy link

kinwie commented Feb 15, 2022

I check CC140 with keyswitches in sforzando.
It's the same, it treats keyswitch notes as previous note also.

I think this is quite similar to last year issue, which is ARIA's behavior not excluding keyswitches range as notes range.

@DSmolken
Copy link

Yes, Sforzando definitely behaves like this, ran into it with Turkish Rebab which keyswitches between legato and non-legato articulations, and the Hadzi-Fia and Hadzi-Hevi vocals which keyswitch between legato syllables. Haven't figured out a workaround of any sort yet, but can confirm this is ARIA behavior.

@kinwie
Copy link

kinwie commented Feb 15, 2022

Just checking again,
In Cakewalk player (DropZone, Dimension etc), also treat keyswitch notes as previous note.
(example using trigger=legato, cause no porta cc140 in CW)

@kinwie
Copy link

kinwie commented Feb 15, 2022

@paulfd
So I guess this need some consideration to decide what best solution for it.
I understand from user POV, excluding keyswitches range from playable note range is a good practical usage.
I believe there is no detailed rule explained in the official SFZ v1 format specs for this keyswitch range behavior.
You are the boss, you decide, LOL

@paulfd
Copy link
Member

paulfd commented Feb 15, 2022

Is there any upside to having a keyswitch register as previous note for cc140?

@kinwie
Copy link

kinwie commented Feb 15, 2022

I don't think so.
If we want the "ghost" glide-in from a previous note, we can always press a blank key to do so.
That's more logic and flexible I think, so the unwanted glide from the keyswitch note can be always avoided.

@DSmolken
Copy link

I can't think of an upside, either. If I really tried I could maybe think of some edge case where this would be an advantage, but that would be a rare and special usage, and it's definitely a downside for "normal" keyswitching legato instruments.

@paulfd
Copy link
Member

paulfd commented Jul 30, 2022

I know it's almost gravedigging, sorry... To push this idea further, should any of the extended CC be changed by a keyswitch note? e.g. 131, 133, ...

I've tried disabling them all in #1113 if someone wants to give it a shot!

@MTornPDX
Copy link

I won't get a chance to try it out for a while, but off the top of my head, absolutely a keyswitch note should NOT trigger any extended CCs. So I think that your thinking is correct here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants