What's new

Hung notes in ProTools

authentic-soundware

Active Member
Hey guys,

As a composer, for years the issue of hung-notes with Kontakt hosted in Pro Tools has annoyed me (happens in even some of the best libraries out there). But now, as a developer, it is really annoying. Has anyone cracked this problem?

The issue is usually just standard hung notes that won't stop even when you do the ProTools emergency all-notes off command or hit the Kontakt ! button. However, in the instrument I'm making, I have an even stranger problem....the note turns off, the voice stops, the on release CB fires, but the keys on the keyboard still show that they're pressed down. The only way to set the key back to normal (as with the typical hung notes in Pro Tools is to play the hung note/key and release it again. I've tested in Ableton and Cubase and the instrument works with no issue.

My instrument is loop-based and I seem to notice this problem under a number of circumstances such when several keys have been intentionally sequenced to release at the exact same time. I've tried using on listener set to transport stop with an note_off(ALL_EVENTS command, but that didn't help. Also, that's not a good solution even if it did work.

My script doesn't play any script-generated notes nor releases. It's basically just some TM Pro loops with a UI and a few little features here and there....

I guess I'm lucky that it's just the keyboard that looks bad, and not infinitely looping audio, but I think I'll have some confused users out there. Any ideas????
 
I'm not a dev, but I do agree that this has been a maddening issue with Kontakt (in Pro Tools) for years.
 
Hey Kerry! This is Jared! Long time no speak!

PS. I just checked and it's not just me. I never really noticed before that this keyboard pressed issue is happening in a bunch of of libraries: Cinesamples Piano in Blue, OT Berlin strings, Una Corda, NI Factory library stuff, for example....
 
Hey Kerry! This is Jared! Long time no speak!

PS. I just checked and it's not just me. I never really noticed before that this keyboard pressed issue is happening in a bunch of of libraries: Cinesamples Piano in Blue, OT Berlin strings, Una Corda, NI Factory library stuff, for example....
Jared!

Yeah. Spitfire sometimes, too. It doesn't happen super often for me, but when it does, it's hard to get it to stay "unstuck", and I end up Committing to audio pretty often. I seem to recall the "All MIDI Off" command working better years ago. Maybe before the 64-bit change? There's also been a consistent issue with tempo-synced NKIs for ages.
 
You should handle the virtual keyboard pressed states separately in KSP, via set_key_pressed_support(1) and then set_key_pressed_state(<key-num>, <state>).

But this has nothing to do with hanging voices of course. Is it happening in PT specifically or can you reproduce in another DAW? Minimum reproduction NKI would be welcome in case you can repro in another DAW.
 
You should handle the virtual keyboard pressed states separately in KSP, via set_key_pressed_support(1) and then set_key_pressed_state(<key-num>, <state>).

But this has nothing to do with hanging voices of course. Is it happening in PT specifically or can you reproduce in another DAW? Minimum reproduction NKI would be welcome in case you can repro in another DAW.
Do you tend do that as a matter of course for all instruments? It seems like it shouldn’t really be necessary for a simple instrument, but maybe that’s just the way it is.
 
Jared!

Yeah. Spitfire sometimes, too. It doesn't happen super often for me, but when it does, it's hard to get it to stay "unstuck", and I end up Committing to audio pretty often. I seem to recall the "All MIDI Off" command working better years ago. Maybe before the 64-bit change? There's also been a consistent issue with tempo-synced NKIs for ages.
Yeah, if we don’t have a working notes off, at least we have commit! I get it a lot with CSS and Session Strings Pro.
 
This is a per instrument option in Kontakt, in Instrument Options -> Controllers. However it should be enabled by default, unless the developer disabled that capability and saved the NKI like that.

A multiscript can be added to brute force sending note offs to all keys if CC 123 is received, per MIDI channel:

Code:
on init
    declare $i
end on

on midi_in
    if ($MIDI_COMMAND = $MIDI_COMMAND_CC and $MIDI_BYTE_1 = 123)
        $i := 0
        while ($i < 128)
            set_midi($MIDI_CHANNEL, $MIDI_COMMAND_NOTE_OFF, $i, 0)
            inc($i)
        end while
    end if
end on
 
Top Bottom