Extending a drum trigger to play a full-length Skaka pattern

Klevgrand’s “Skaka” plugin is great for playing patterns of shaker-type instruments (tambourine, etc.). But when it’s triggered live from a MIDI drum kit (like Roland V-Drums), only the first note of the pattern is played. This is because drum pads are percussive and can’t sustain a note – the note on event is immediately followed by a note off event. I’ve asked Klevgrand if they could add a “one-shot” pattern mode in Skaka that would play the entire pattern once when triggered. In the meantime, this simple script does the trick: it ignores the note off event, and replaces the note on event with a note that lasts (in this example) for 1990 msec. You can change the triggering note (C1 after “Matching”, and 36 in PlayNote’s argument list), and adjust the duration value from 1990 to the length of your Skaka pattern.

var O49 : MidiInBlock
var vel : Integer

On NoteEvent (m : NoteMessage) Matching C1 From O49
    vel = GetVelocity(m)
    if vel > 0 then     //ignore Note OFFs
        PlayNote (O49, 36, vel, 10, 0, 1990)  //replace 1990 with the length of your Skaka pattern

Hey, nice GPScript, we also have got a Scriptlet version here:

And the lengthen option is also available in this larger Scriptlet for drummers here:

Have fun with GP :wink:


Thank you, I’ll check it out!