Skip to content
🎹 Use Native Instruments Komplete Kontrol mk2 light guide in Synthesia
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Change license type Apr 4, 2018 Mention that MK1 is supported Apr 16, 2019 Fix S49 MK2, better error handling Apr 7, 2019 Initial commit Apr 3, 2018 Prepare 1.1 Mar 24, 2019

Synthesia Kontrol Guide

Use Native Instruments Komplete Kontrol MK1 and MK2 light guide in Synthesia to learn keyboard.

Synthesia Kontrol

This is a project for my son, which you may find useful.

This program listens to light events from Synthesia sent to a virtual LoopBe1 midi port and lights the keys on Komplete Kontrol keyboard accordingly.



  • Install LoopBe1 virtual midi port driver.
  • In Synthesia:
    • Go to settings/Music Devices
    • Select "LoopBe Internal MIDI" from "Music Output"
    • In Keylight section of that output, select "Finger-based channel" (the last mode after 'channel 16')



  • Download the Windows package locally on your PC from releases
  • Extract in a new folder
  • Run SynthesiaKontrol

Linux, MAC

Use the Developer method.


If you want to contribute to the project, you need to setup your Python environment.


  • Install Python's module:
pip install hidapi
pip install mido
pip install python-rtmidi
  • Run the program:
  • Build executable:
python build

Result is in build directory.


  • Proof of concept: light keys from Komplete Kontrol MK2 S61
  • Figure out all the possible colors - see
  • Python app to listen to midi events from Synthesia and light keys - see
  • Leverage finger based channel light mode from Synthesia, introduced in r4376 to show left and right hands on KK
  • Address issue where notes are turned off too quickly (Forum post here)
  • Package as simple executable
  • All notes off
  • Customizable note colors
  • Rainbow mode: when playing a note, make a rainbow on that note
  • Simpler / better instructions
  • Support all Komplete Kontrol MK2 keyboard sizes (currently only S61)
  • Support Komplete Kontrol MK1 keyboards
  • Use different colors per channel

Getting help

I prefer GitHub issues. Otherwise, there is a Synthesia forum thread here.


Thanks to

  • Nicholas Piegdon for his dedication to Synthesia, and the great help he provides for his user community
  • AnykeyNL to figure out an initial scheme for Komplete Kontrol MK1 USB protocol as well as the structure of an app
  • Jason Bret to have figured out the MK2 version, and the 0x81 endpoint which I use.
  • a1vv for the fork, and figuring out the changes for MK1 - which allowed me to create a version with support of MK1 and MK2
  • Nabume for the S88 MK2 info.
You can’t perform that action at this time.