Sign Up

How to make a Kontakt Instrument

How to make a Kontakt Instrument with custom GUI
| ,

How to make a Kontakt custom Instrument

This article explains the basics of creating your own Kontakt instrument interface.

The elements of creating a kontakt interface

To create a custom interface you start by createing a Resource Container File in "Instrument Options".

Kontakt Instrument Options Resource Container
Kontakt 5 Instrument Options - Create Resource Container

Click on the "Create" button to initialize a new nkr file. Kontakt will create folders and files for the resources. It is also used every time an image og config file has been added, removed og changed.

Here is a list of what you need to create a kontakt custom gui.

Resource files must be placed in the "Resources" folder next to the nki instruments file.

  • Background image
    • A png or jpg image file
    • A txt markup file with the same name explaining the image parameters
  • Interactive objects like Knobs, Switches and Sliders
    • A png sprite sheet for each element
    • A txt file containing the markup with the same name for the sprite sheet
  • Kontakt Script
    • A script that initializes the resources and events
      • Sets position of elements
      • Bind the element to kontakt parameters
      • Controls what and how to play samples

Some helper applications to use in the creation process

  • JKnobMan
    • A free software Instruments Sprite Sheet file generator. JKnobMan is a newer Java version of the old KnobMan application. The JKnobMan version is recommended over the old KnobMan.
  • Image processing
    • Photoshop 
      • A easy to use and fast webbased image builder for building background images
  • Sublime Text Editor 3
    • Thanks to Niels Lisberg it has a KSP addon with a Kontakt 5 KSP script compiler
  • Kontakt
    • The kontakt application for building and testing the script and GUI elements


Here is some GUI resource element samples for kontakt GUI creation. You can make your own imaginary knobs and slider or make some inspired by famous hardware designs.

1176 Style Kontakt GUI custom knob
1176 style Knob Sprite Sheet for Kontakt custom GUI

API 2500 style Kontakt Interface Custom Knob
API 2500 Style Knob Sprite Sheet

DX7 style Kontakt GUI Custom Slider
DX7 style kontakt custom GUI slider

Kontakt resource elements configuration txt files

Each image must have a configuration file telling Kontakt how to load and render the images.

Knob Sprite Sheets and background images have different configuration formats.

  • Sprite Sheet config file with the same name as the image.
    The "Number of Animations" is the line to change according to the actual number of frames in the Sprite Sheet image. The rest are the same for most images.
    How to make a Kontakt Sprite Sheet image config file
                Sprite Sheet configuration file content
  • Background image config file with the same name as the image
    Background image kontakt resource config file
              Background image config file for Kontakt rendering

Kontakt Scripting in custom instruments

Kontakt Script is a script callback based language that Kontakt runs when loading an instrument. The language is simple and easy to learn for programmers.

Use the manuals for reference

Kontakt scripting can be written directly in Kontakt but an editor like Sublime Text 3 with a Kontakt addon is better.

Sublime Text 3 with Kontakt Script addon

Why Sublime Text 3

  • Niels Lisberg has made a KSP Addon
    • It can be a bit tricky to install and setup for compiling.
  • It has KSP code colouring
  • It has a KSP compiler for Kontakt 5 script


To be continued...

Vintage interface design sprite sheet - Kontakt GUI

Vintage interface design sprite sheet - Kontakt GUI

Interface design resources. Sprite sheets and configuration files for music gear GUI design.