NI Komplete Kontrol mk2 light guides with Synthesia

Collaborate with other modders to make Synthesia the way you want it.
Always the latest versions: [ colors.xml | ui.xml ]
Read the Getting Started topic to learn how important it is to MERGE YOUR CHANGES every time you download a new dev preview.

Postby ojacques » 04-04-18 8:00 pm

Greetings,

Following the great work from anykey who came up with a first version for Komplete Kontrol MK1, Jason Bret who figured out more details on KK mk2 USB protocol, and Nicholas's support for custom lighting schemes, I wrote Synthesia Kontrol to use Synthesia in conjunction with Native Instruments Komplete Kontrol keyboards and their light guides.
I did this is for my son who started to be interested in keyboard playing through Synthesia Youtube videos!

It supports:
- Guiding lights during playback and different learn modes
- Different colors for left / right hands
- Different color for thumb

There are still rough edges and bugs here and there, which I probably need to work on with Nicholas, but you can see work in progress and code here:

https://github.com/ojacques/SynthesiaKontrol

Preview video:


Hopefully this can be useful for some of you too and be the base for native support of Komplete Kontrol Keyboards in Synthesia!
ojacques
 
Posts: 7

Postby Nicholas » 04-04-18 11:37 pm

That looks really nice!
Nicholas
 
Posts: 11667

Postby ojacques » 04-10-18 7:01 pm

Thank you for the nice words @Nicholas.

There is a version (Windows only for now) one can download: https://github.com/ojacques/SynthesiaKontrol#windows

I'm looking for testers for Komplete Kontrol MK2 25 and 88 keys, as well as KK MK1. Just reach out in this thread.
I don't expect MK2 25 or 88 keys to work yet. Nor KK MK1: I need to work on that. This is why I'd need testers...
ojacques
 
Posts: 7

Postby a1vv » 07-27-18 8:38 am

I have a KK S88 mk1, and I've been looking for a way to have the lights on my keyboard only light up when I press on the corresponding keys - as in having all the keys black except the ones I'm pressing down. I've tried both yours and Anykey's Synthesia-Kontrol, although I haven't gotten them to work. When I run anykey's 'komplete.py' it simply returns "No komplete device found", even though the keyboard is plugged in and works. Even if I were to get it to work with my KK, both of these programs are built to work with synthesia, which I don't use. It seems to me like it would/should be possible to write something that allows for the keylights to be triggered by the MIDI notes sent out by the keyboard.

I would love to help test SynthesiaKontrol out on my kk mk1 though, if that would be helpful. I'll mess around a bit and see if I can get something to work for me, but I'm not that good at python so we'll so how that goes.

EDIT: I found the product key for my keyboard (1410) and changed the product ID in anykey's code to 0x1410. Now it recognizes my keyboard when I run komplete.py.
a1vv
 
Posts: 3

Postby a1vv » 08-12-18 6:42 am

I managed to get what I wanted to work, as I posted on the NI-forums: https://www.native-instruments.com/foru ... 806/page-2

I'll see if I can get your code to work for my keyboard, I think I'd only have to change the offset and the way it sends colors, but I'll give it a shot.

Also, I think I figured out how to calculate the note offset, (offset=108-numkeys+1). The offset for my S88 was 21, and the offset for a S61 was 48. 108-88+1=21, 108-61+1=48. Could be useful when making a program like this easier to use, instead of finding out the offset yourself you'd only have to input the number of keys on the keyboard.
a1vv
 
Posts: 3

Postby a1vv » 08-12-18 6:58 am

I got it to work! I modified your code and made a version that should work with all MK1 keyboards, as long as you change the product id and input the right number of keys.

https://github.com/a1vv/KompleteKontrolLightGuide
a1vv
 
Posts: 3

Postby Nabume » 10-12-18 9:07 pm

Thank you so much for developing this! It is wonderful, omg!

I have the S88 Mk2, here's the HID addresses incase anyone else wanted them :

device.open(0x17cc, 0x1630)


and the offset :

offset = -21 # To change when keyboard is not 88 keys


Anyone else with an 88 keyboard will need to search the code and replace "61" with "88"

Additionally, I've been trying to learn & play claire de lune with this script. Its immensely helpful and frustating at the same time (because, debussy was a god among mortals)

The reason why it's frustrating is because the 'note-off' message from the MIDI Keyboard triggers the lights off on the keyboard -- even If the upcoming synthesia chord has the notes of the previous chord in it. In claire de lune, sometimes all 10 fingers are on the keyboard, but during a chord change, the releasing of some of the notes triggers the notes off, even though the upcoming chord has those notes? Does that make sense? Im wondering if you can help me come up with a solution! Otherwise, this script is amazing :)!
Nabume
 
Posts: 1


Return to Modding Synthesia

Who is online

Users browsing this forum: No registered users