I can never seem to get Cymbal Chokes to work

I’ve gotten pretty savvy with both percussion maps and expression maps, but regardless of percussion library used I can never really seem to get choke to work on cymbals. They’ll invariably just ignore it and continue to sustain.

Currently I’m working with a drum set from XLN’s Addictive Drums, set to map to General Midi. In there, choke for my cymbal is midi note 112. I set this in my perc map for instrument drum set (basic) which is what I’m currently using:

Nothing. So then I thought to try simply crash cymbal as the instrument:

Still nothing.

So then I tried setting it in the expression map:

Still nothing.

I tried it with an alternate playback technique I created, just called it “choke (hidden),” and tried testing it with both the perc map and exp. map with all the variations above. Still nothing.

When I check the midi monitor I see nothing “fire” on 112 either. So out of curiosity switching it an octave higher, and an octave lower. Still nothing.

I have run into this same issue when trying to program maps for other libraries including orchestral ones, such as CinePerc, BBC, and more (mostly Kontakt). Even when choke is available to map, invariably the cymbal will continue to sustain. I’ve tried applying techniques from both the popover and the panel, no difference there either.

When I check the key editor for the “playing techniques” lane, nothing ever shows up for ‘choke.’ So between that and the midi monitor showing nothing, I think for some reason Dorico is simply ignoring this playing technique and not sending that information to the VST/map. Anyone have any ideas about this?

I’m curious if this might have something to do with Note-Off vs Note-On triggering.

1 Like

Yes, this was my thought as well…
@wing, If you play the suspended cymbal on a keyboard and let the note go, does the sound stop immediately or is there a choke sample that kicks in. Ordinarily you would simply expect the sample to stop playing at the end of the note.

It has depended on the library and how they scripted it; I have found some where the choke happens with note-off, and others where it’s effectively a keyswitch, and others where you basically combine two separate samples, the normal hit/roll and then you immediately play a choke sample from the same cymbal located on another key.

My preferred libraries use keyswitches giving you the option to choose - by default allowing the cymbal to sustain when the note is released (since the probably the majority of time with a cymbal crash or roll you most likely will want it to naturally decay after being struck); and then you activate a keyswitch to choke it at the instant the keyswitch is activated.

In my particular example above, that is the method I’m attempting to use here - in that instrument E8 or midi 112 corresponds to choke ‘on’ when it is activated (it operates like a temporary non-latching keyswitch). So using the percussion map and/or expression map, when the choke playing technique is present Dorico should be activating that midi note and thereby choking the cymbal (doing it manually from my controller works), but it isn’t and I can’t really figure out why.

Interestingly I have observed this conundrum with all libraries I’ve attempted.

When using NotePerformer, I’ve noticed the opposite behavior (and their tech support confirms this) - choke for percussion is actually on by default, you either have to extend the note or add ‘l.v.’ to let it ring with a continuation line. I don’t prefer this since I don’t want everything to choke by default.

(I am not sure what the orchestration notation standard would be for live players, but I would think they probably won’t assume every cymbal hit is always choked by default unless otherwise told ‘l.v.’; and would rather be instructed clearly when a note is to be choked).

I’m probably totally off here but I have a vague memory of someone saying there was an issue with when the Note-Off keyswitch is actually sent by Dorico or something along those lines. Maybe there’s a way to test this? I’m sorry if I’m misremembering this.

Hmm, ok, so that got me thinking - what if there’s a way to monitor midi messages on a track? Fortunately, I know Kontakt has a built in utility script. So I loaded an empty Kontakt on an empty track and observed the monitor with a string of choke techniques to see if there’s any midi activity there (still using the same perc map). Nothing. So then I tried other playing techniques - still no message.

Then that got me thinking - what if I could manually add this note myself on a percussion staff or drum set, that way I ensure this key is pressed - and if so, how would I go about that? Then it occurred to me, what if I cheat it as an imaginary fake “instrument”? So I created a new instrument (duplicated from a crash) - called it “choke (percussion playback cheat)” - where its sole purpose will be to give me access to add this note whenever I need on a separate “lane” -

And well, lo and behold, it works! And when checking the midi monitor in Kontakt I’m getting the correct note on/off event on #112 -

So then that got me thinking well wait a second… if it just needs a note event, maybe that’s the issue, I always had choke either on the actual played note, or shortly after. But maybe Dorico needs an actual note fired with the technique to send midi.

So in other words, that could look like this, where the first note is the actual crash hit, and the second note with the apostrophe over it is literally just the choke trigger:

And indeed, it totally works! Unfortunately, though, it’s not really a great solution, since it would lead to score confusion seeing two notes in a row, the second not to be played. I tested to see if I ‘suppress playback’ on the second note and sure enough, it no longer works right. So for now I may have to stick with the fake instrument workaround I mentioned above, and then I would hide or delete that from actual prepared parts.

I would hope maybe Dorico could address this in a future update - that playing techniques could send midi events without a note present - it seems that would solve this!

Thank you for the interesting update. Not sure if a MIDI event without a note is even possible - but thinking about this choke example I’m wondering if it’s better thought of as a CC message that’s programmed as an add-on in Dorico. Perhaps it can work similar to “open/muted” combination (or off/on for sustain pedal)? Do your libraries allow remapping of keyswitches to CC?

It depends on the library, some do, such as Spitfire Percussion with their UACC KS. I’ll have a look at that. But other libraries place choke on a keyswitch and it appears it can’t be changed (other than moved elsewhere on the keyboard). Also I’ll have to look but if using a Kontakt instrument there may be a way I could translate a keyswitch to CC using one of the internal midi utilities, as a bridge between the two methods.

It would seem to me that a midi event without a musical note should be technically possible - if the data is capable of existing in the flow and key editor, I’d imagine there should be a way for a playing technique to send a keyswitch regardless, since after all a ‘keyswitch’ is basically a midi note itself! But it seems it’s not been designed to work that way.

What would happen if you edited the expression map (or a copy of it) for the Crash Cymbal and added a base switch or an add-on switch associated with the Choke playback technique which had your choke keyswitch as an Off event? Then you could enter a note for the cymbal with the Choke playing technique which would trigger the keyswitch when the note ends.

1 Like

I was going to suggest the same thing…try adding ‘choke’ to the Expression Map rather than the Percussion Map. The choke playing technique can have a CC or a key switch assigned to it.

1 Like

In my very first post I did mention having tried both – I basically tried all kinds of variations, expression maps included (though to be fair, I had not tried it with note off event). The only reason I hadn’t explored CC in these cases are the libraries don’t use CC for choke. I’ll try these other methods and report back!

Voila, that was it! In my original post I had shared a screengrab where I had originally tried choke in an expression map and it wasn’t working – but it was set as a note on event. As soon as I tried it as a note off event, it works like a charm! And now that I understand this I can use this technique regardless of whether the library uses keyswitches or CC for choke.

Thanks everyone for helping me figure it out – now I’m off to choke a bunch of cymbals! :wink:


You were onto something, as @johnkprice suggested to try a note-off event in my expression map (I’d been using note-on) – that fixed it! Naturally I was overthinking this in the above post after my third cup of coffee today…