NI Komplete Kontrol mk1 and 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.
Post Reply
ojacques
Posts: 8

Post by ojacques »

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!
Last edited by ojacques on 03-24-19 6:53 pm, edited 1 time in total.
Nicholas
Posts: 13090

Post by Nicholas »

That looks really nice!
ojacques
Posts: 8

Post by ojacques »

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...
a1vv
Posts: 3

Post by a1vv »

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

Post by a1vv »

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

Post by a1vv »

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
Nabume
Posts: 1

Post by Nabume »

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 :)!
ojacques
Posts: 8

Post by ojacques »

Thank you all for the very nice feedback and the willingness to help. a1v, nabume, your comments / your code helped me for a new release.

So, I have just released a new version which should support KK MK1 and MK2, 61 and 88 keys. It is only tested with KK MK2 88 keys, on Windows though.
* Code: https://github.com/ojacques/SynthesiaKontrol
* Releases/download (for Windows): https://github.com/ojacques/SynthesiaKontrol/releases
Naycin
Posts: 2

Post by Naycin »

Hello,
I really appreciate there is a solution to create lights for Synthesia on the Kontrol keyboard.

I'm looking for help to get this feature working. I've come to a problem i need to solve. Presently stuck at the "pip install hidapi" stage. Attached screenshot. Terminal response says -bash: pip: command not found
Can anyone help?

Regards
Nathan
Last edited by Naycin on 03-31-20 10:46 am, edited 1 time in total.
Naycin
Posts: 2

Post by Naycin »

I found success by adding 3 on the command line to make "pip3 install hidapi"
tillt
Posts: 2

Post by tillt »

Here is another project supporting the Komplete Kontrol S-series; Komplete Synthesia.

Komplete Synthesia works on macOS 11.0 and beyond.
SynthesiaRunning.png
SynthesiaRunning.png (43.85 KiB) Viewed 1544 times
[
Action.png
Action.png (935.8 KiB) Viewed 1544 times
See https://github.com/tillt/KompleteSynthesia for more.

Download the latest release from https://github.com/tillt/KompleteSynthesia/releases

Give it a try!
tillt
Posts: 2

Post by tillt »

Oh, now it additionally supports Synthesia application window mirroring onto the Komplete Kontrol LCD screens.

See it in action;

Image
Nicholas
Posts: 13090

Post by Nicholas »

Wow, I didn't realize they offered so much control (kontrol? :lol: ) over the device to do that sort of mirroring. Nice work on all of that!
Fannon
Posts: 5

Post by Fannon »

Really impressed with the screen mirroring. Just curious - how did that work? For sure not via MIDI interface 8-)

Thanks for putting this script out there. I used to have a Komplete Kontrol Mk2 (sold it recently) and used this a bit. But now I've got a LinnStrument and took your project as inspiration to create something similar for it.
Post Reply