Welcome to the new and improved Native Instruments online community. Join our active forum of 40,000+ members for discussions and much more.

Script to limit voices for release trigger with sustain pedal

lzr1945 Member Posts: 2 Noise

I created a 10 velocity layer Rhodes instrument in Kontakt 5 with damper release samples. It's beautiful except multiple damper release trigger samples are bunched up when striking a note multiple times while depressing the sustain pedal. Then when the sustain pedal is released the release samples will be too loud for any key that was struck more than once while the sustain pedal was down.

Using the note mono button the Release Trigger is enabled doesn't help.

I also tried a script to limit voices to 1 or 2, but then no releases are heard when releasing the sustain pedal.

Does anyone know how to resolve this?

Using release trigger samples is so common with piano kits, there must be a way to prevent this problem when the sustain pedal is released.



  • Uwe303
    Uwe303 Moderator Posts: 1,807 mod


    this is definitely something for mr. kontakt @EvilDragon if he don´t know, then there is no solution.


  • EvilDragon
    EvilDragon Moderator Posts: 858 mod

    You should probably script your own release triggering, then you're in control of what plays when. Plus it's well known that the built-in release triggering doesn't exactly work as expected with sustain pedal.

  • lzr1945
    lzr1945 Member Posts: 2 Noise

    Have you come across a script that will do what I'm after? I've written some C+, Fortran 90 code, and even some Assembly language. But I struggle with the NI script syntax.

    I have a single damper release sample per note. I need this to play only once for each note that stops when the sustain pedal is released. Also need some kind of counter to reduce the release sample volume as a function of time passed since the note was last played. And reduce the release sample volume as a function of key velocity.

    The standard Kontakt Release Trigger function does all of this very well. Except when using the sustain pedal it plays the release sample X times in unison for X times the key was played with the sustain pedal down.

  • EvilDragon
    EvilDragon Moderator Posts: 858 mod

    If you've dealt with C and Fortran, KSP should not pose a huge obstacle, tbh...

    For reducing the volume of release sample as a function of time you need change_vol() and %NOTE_DURATION array (consult KSP reference). You can apply this to the event ID of the event that you trigger from release callback.

    Make sure to disable Kontakt's internal release triggering (see here) if you're going to deal with this all yourself.

    You might find some inspiration in these threads:



Back To Top