Skip to content

Latest commit

 

History

History
95 lines (67 loc) · 3.81 KB

README.md

File metadata and controls

95 lines (67 loc) · 3.81 KB

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

Pre-requisites

  • Install LoopBe1 virtual midi port driver.

    💡 On Mac, you can use the built in "IAC Driver" - open "Audio midi setup" to create a device named "LoopBe" as explained by D-One

    🆕New: Since January 2023, check out KompleteSynthesia: a MAC native project from @tillt

  • 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')

SynthesiaKontrol

Windows

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

Linux, MAC

Use the Developer method.

Developer

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

⚠ SynthesiaKontrol only works with Python3. One of the symptom when using Python2 is that you will get an error message saying that the keyboard is not supported yet.

SynthesiaKontrol

  • Install Python's module:
pip3 install -r requirements.txt
  • Run the program:
python3 SynthesiaKontrol.py
  • Build executable (Windows)

    • Install cx_Freeze: pip3 install cx_Freeze
    • Run build
      python3 setup.py build
      
    • Result is in build directory.

Status

  • Proof of concept: light keys from Komplete Kontrol MK2 S61
  • Figure out all the possible colors - see color_scan.py
  • Python app to listen to midi events from Synthesia and light keys - see SynthesiaKontrol.py
  • 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.

Acknowledgements

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.
  • KompleteSynthesia: a MAC native project from @tillt