Last modifiedby & filed under KSP Scripting (NI Kontakt) - Tutorials, KSP: Basics.

KSP is a rather simple procedural scripting language for Native Instrument’s Kontakt to create your own Instruments like those you are probably using all day long already.


What is KSP?

Kontakt Script Processor (KSP) is a scripting language for Native Instrument’s Kontakt that we can mainly use to create our own Kontakt instruments. It is procedural (not object oriented) and very structured. Like there are different callbacks for different events which we mainly put the most of our code into. With those callbacks we can send and receive data from the Kontakt engine.

Is KSP easy to learn?

yes and no. It is very easy to dive in quickly and create basic instruments. The difficult part is not the language itself which is really not that complex. The difficulty lies in writing many many parts on our own since there are not many premade functions or libraries available. Furthermore sometimes there are even missing important functions or operators we get with other languages, like string comparisons (to give a very basic example).
This is not possible (yet):

if(@StringA = @StringB)
  // do something
end if

Although we can create own functions, we cannot pass variables into those functions by default. And we can’t return values, as we are used from other languages. This is only possible with a workaround and with the help of the ksp syntax for sublime.

So when our instrument gets more complex, we really have to start being creative ourselves like building workarounds and writing almost EVERYTHING on our own (even simple mouse event handlers) If we are lucky we have access to third party code or tutorials ;) that we can use. But sometimes this is not that easy. If there is only the full code of a whole other instrument available we have to muddle through thousands of nested code lines to find the spot of our interest.

The good thing with KSP is that you can quickly enjoy your first attempts. So the motivation level stays high and frustration low. However probably you still benefit from starting with other (simple) languages first and then move over to KSP.

Do I need to know other programming or scripting languages?

Actually no, but it still helps a lot when you are already experienced in other languages. (read above)

How long does it take to make my own Instrument?

well actually this can’t be answered because everyone has an own learning speed. But even if you are totally new to  programming you should be able to make your first basic instruments after 2 or 3 months of coding in KSP every now and then. With the help of tutorials you are probably way faster. The complex UI tutorial (Kontakt5) should take you about 4 hours (roughly estimated). The same ui with the new ui_panel method (since Kontakt 6) should take you about 1 hour.

Well this should just give you an idea. If you are slower, don’t worry. Complex instruments just take time anyway, even for a whole team. So don’t get frustrated if you don’t have your instrument up and running within one week.

Some advice

  • don’t start with too ambitious projects.
  • first read through all the basics and references before you think of any project
  • be realistic about yourself and think of what you can realize already and what not
  • grow with your projects – don’t let your project overgrow you
  • If you are stuck don’t hesitate to ask the communities.
  • Sometimes you need do scrap some of your ideas during the process. Yes, this sucks but it’s still better than never completing your project

Our Tutorials will hopefully help you to get things going quickly

How useful was this article?

We are sorry that this post was not useful for you!

Let us improve this post!

Leave a Reply

use <pre></pre> to wrap code blocks

use <code></code> to wrap small code snippets

Your email address will not be published. Required fields are marked *