NoteMatrix script for Kontakt

Hi there. Any gig file shared by another user and/or scripts can generally be used in either Mac or Windows with no conversion.

If the gig file includes specific plugins that are only available on one platform (e.g. AU plugin format in Mac), then a Windows user would need to replace them.

In addition to the overall ‘gig’ file, you can also export/share individual rackspaces, and individual panels, allowing you to add these into your existing gig file.

Trying to incorporate things into your existing rackspace can sometimes take a bit of work, but feel free to ask for advice if that’s what you want to do.

Welcome to this community forum @Jerry.
@rank13 is right and for this particular MIDI pads Scriptlet, the only thing you need is GP4, download the gig file for free from this community forum and have fun :wink:

1 Like

Thanks for the welcome and the detailed replies! I’ve got this working in Windows and all is performing as it should, but will have to wait to test on the Mac…

In the meantime, I’ve found myself running multiple instances of Note Converter in the same rack so I can use a single drum pad to play multiple different notes at the same time (for example, layering a concert bass drum with a couple of cymbal crashes). I understand this isn’t what the script is intended to do and this might be a resource-intensive misuse since there are other ways to achieve this (using multiple MIDI In blocks and transposing to different target notes).

I’m realizing the essential feature of this script for me is the “note lengthen” function since my controller sends notes of such short duration that it doesn’t play sounds from some plugins properly.

More questions:

  1. Am I correct that Note Converter is not the best solution for sounding multiple notes from a single pad strike/key press?
  2. Is there a way (for someone with limited programming knowledge) to isolate the “note lengthen” function from the script? Mainly this is to conserve resources and reduce complexity of setup and modifications for different configurations. (I’m assuming making mods to shared scripts is acceptable use.)
    2a. Is anyone aware of another way to achieve the “note lengthen” function?
    2b. Should I be looking to another forum thread to have this discussion?

Thanks again for taking the time - it’s super helpful

Hi @Jerry, first of all let me thank you for this very positive feedback.

This is the right place for questions, so let me try to answer them.

Well, the NoteConverter Scriptlet is mainly intended to remap notes when it is necessary, like for remapping drum pads to drum elements. If the only interesting option for you is the lengthen option I can very easily build a Scriptlet for you which only lengthen notes. e.g. if you use a MIDI xylophone which produces only very short notes while you would like to play a bass line. But the Scriptlet is not inefficient and you can use more of them together. However if your goal is e.g. to play one note and to get the octave played together, you can indeed simply use two MIDI in blocks of your controller, transpose one of them, and route both to your instrument plugin. It is up to you, but the NoteConverter was “optimized” not to be resource intensive while playing.

As I proposed, I could put the lengthen function in a simpler Scriptlet if it is what you want. But neither the whole NoteConverter Scriptlet nor the lengthen option itself are computing intensive. Let me know exactly what you want to achieve.

The way I did it is probably the more efficient way as it simply delays the note off message using built-in GPScript functions which is supposed to be very efficient. GPScript is a compiled langage.

You are at the right place and don’t hesitate to ask if you have further questions. :wink:


Thanks again @David-san,

My scenario is (2) electronic drums with (4) pads each. Many of the pads will be configured to play multiple notes per hit, as in my previous example of sounding bass and cymbals together.

This scenario requires one instance of Note Converter per combination of note from controller + note to be played. For example:

  1. Controller sends note #17
  2. Note Converter (instance 1) converts note #17 to #53 (Bass drum)
    2a. Note Converter (instance 2) converts note #17 to #65 (Crash cymbal)
    2b. Note Converter (instance 3) converts note #17 to #48 (Crash cymbal in a different plugin)

The good news is that one instance of Note Converter can convert all incoming notes to different external notes, but again cannot convert one note to many.

I built out the following which does what I need it to do - each input note is triggering three notes total - One hit sounds all the notes in a column, and each row represents the 4 pads (I modded the front end since the original 16channel block is too large for this use case, also removed unused functions since I set target notes manually):

Perhaps this solution is as elegant as any? Perhaps my concerns about resources are unfounded?

Your thoughts are appreciated as well as your generous offer to create a stand-alone “lengthen” script. For the record, I think the lengthen script might be useful to many - without this feature several of my plugins do not play percussion sounds properly when triggered via pad (note sounds muted, or like it’s not being played at full velocity though full velocity is sent). I discovered the issue when playing the same sound via keyboard…the difference is profound.


Perhaps use it in conjunction with the free RipChord plugin?

Thanks for the suggestion. I’ve actually tried this plugin and it works great for this application.

My only issue was the user interface - I found it hard to use for making constant changes while testing out sound combinations, but I may revisit.

Edit: Should be noted that I don’t think you can route the multiple notes output from Ripchord to different plugins.

If it works for you like this, that’s perfect. Regarding ressources, I think you won’t have any problems.

OK, could you tell me more about the use case?

Uhm…pressing middle C …

Percussive_Notes_Lengthener_Scriptlet_v1.gig (30.2 KB)


Ahh! Hadn’t thought about it that way…

Thanks again - this is great! For the record, I’m using some cheap Kat KTMP1 pads.

I’ve found that lengthening notes by just a few ms makes a big difference with some plugins.

Yeah, it’s a bit more work as you have to program multiple plugins with the different notes but it is a workaround for a plugin that doesn’t already support such routing internally

You are welcome. Is there something else to add to the Scriptlet to make it fully functional for you? If not, I could submit it to @npudar to add it to the ever growing collection of free Scriptlets already available.

1 Like

Actually I was waiting for you to say that :innocent:



Since you asked :grinning:full functionality for me includes:

  1. MIDI note lengthen
  2. MIDI note converter/splitter - one input note can be converted and/or split to one or multiple output notes. Individual notes could be routed via channel selection

There is a plugin I’ve used called NoteMapper which handles #2 but is VST only. For fun, I mocked up an image of what the frontend of this sort of utility might look like. As illustrated, only handles one incoming note, so I would need multiple instances in my case - one per percussion pad. I suppose the ability to handle 4 input notes instead of only one would be ideal…

Edit: To summarize and consolidate, the point of the utility is:

  • fix playability issues with some plugins when using percussion controllers that send very short duration MIDI notes
  • layer percussion sounds by splitting incoming MIDI notes into multiple notes that can be individually routed to different plugins.

Use case is something like:

  1. MIDI controller sends note #1 to utility (any channel)
  2. Utility converts note #1 to #53 and sends on channel 1 to plugin 1 (Bass drum)
  3. Utility converts note #1 to #48 and sends on channel 2 to plugin 2 (Crash cymbal)
  4. Utility converts note #1 to #48 and sends on channel 3 to plugin 3 (Splash cymbal)

And what’s the use case for this, triggering chords with drum pads?

Why coudln’t you use 4 NoteConverter Scriptets for this? I don’t see why it shoudln’t work… :thinking:

Use case is not triggering chords with a drum pad, but to allow a player to trigger multiple different drum sounds with one “hit,” such as an orchestra percussion strike. Perhaps not useful for a kit drummer, but very useful for a high school marching band short on personnel.

As you noted, this could be achieved with multiple instances of Note Converter, or using multiple MIDI input blocks transposed to different notes, or using a plugin such as Ripchord or NoteMapper

True that I’m able to achieve the desired results using any of the above.

Creazy, I would love to see this :stuck_out_tongue_winking_eye: :+1: :+1:

1 Like

Will see what I can do!