Korg Nano Kontrol, Assigning Controls


I’ve the Korg nano kontrol, and I was wondering if it is possible to assign the buttons like play and record(on the left of the nano kontrol) to the play, record, etc buttons in renoise.

You can’t map them, or can you?


I think someone wrote a Linux hack for this:


Original thread here:


Maybe this can help you?


Unfortunately I’m working on mac as platform…

It depends on how unfortunate… the source is on the display, any mac user that also has mac programming experience might be able to whip up a port.
There probably need to be some different library calls to be made so it does require patching, but as soon as those are done they can be compiled and ran.
Mac is not that far away from Linux. (i suspect most of the Renoise code that was ported to Linux came from the OSX CVS, but i have no insight in that part but i recall Taktik mentioning that making a Linux port was fairly easy because the majority of the code ran without problems, only the support for the hardware was specific)

You can process midi using the Core MIDI library and post keyboard events using the QuartzEventServices
Sadly I’m not an osx programmer and have zero experience using either library, Is there someone out there? there are a number of control surfaces with such buttons out there (I’ve got an event EzBus and novation zero SL)

Ok I solved it without having to resort to code.
Here is what I did for my novation remote

  • make a new pip
  • add midi-input, set to novation remote output
  • add Apple Script Trigger, put the following script in
# Run as a pipe in Midi Pipe http://web.mac.com/nicowald/SubtleSoft/MidiPipe.html  
# Find key codes using Key Code http://www.versiontracker.com/dyn/moreinfo/macosx/21215  
# Find midi message details by adding an AList in MidiPipe  
# - npxnsv  
on runme(message)  
 tell application "System Events"  
 tell process "Renoise"  
 set frontmost to true  
 end tell  
 # PLAY: space global->transport->play/stop/edit, 105  
 if (item 1 of message = 176) and (item 2 of message = 105) then tell process "Renoise"  
 keystroke space  
 end tell  
 # REC : esc pattern editor->play->toggle edit mode, 106   
 if (item 1 of message = 176) and (item 2 of message = 106) then tell process "Renoise"  
 key code 53  
 end tell  
 # REW: cmd+up pattern editor->pattern sequence->go down in sequencer   
 if (item 1 of message = 176) and (item 2 of message = 102) then tell process "Renoise"  
 key code 126 using command down  
 end tell  
 if (item 1 of message = 176) and (item 2 of message = 103) then tell process "Renoise"  
 key code 125 using command down  
 end tell  
 end tell  
end runme  

works nice, can do with a filter and a midi out in the end, filter to not transmit keypresses onwards, and midi out as input for renoise

enjoy :D

Will this code work for any other controller like for example my mpd24? ;)

If your controller sends midi it is possible :D Just try connecting to MidiPipe, add a midi in and an AList to see what comes out of your device. Then try to decode it to make your “if ( item 1 of message = XXX)” lines make sense… good luck (and if you are kind post your code if it works so other users benefit from your struggles)

Hrmmmm. I have an M-Audio Oxygen 49 and I STILL(after 6 frakin months) dont know how to map the controls…

so help would be appreciated. It has been racking my mind. I have resorting back to FLstudio(ewwwww) to some more"humanized" sounds…please help…I hate using FLstudio…ewwwwww…

Well, the only thing is working are the pads. no sliders, no knobs, no MMC. I really need a help or a guide how to connect this please. What is your input, output and everything else in the pipe? I mean, what is in your tools and what´s in the pipe? How do you set in renoise preferences? I am really struggling now. :(

nxpnsv, thank you for posting your script code.

I have no access to OSX (-- and I don’t plan to buy a license of it in the near future).

However, if someone can point me out shell access to an OSX installation, I’d give it a try to create a port of nanonoise for OSX.

Another thing, which I want to implement in the near future is support for more sysex strings of the nanoKONTROL hardware; it might be possible to control the leds of the nanoKONTROL triggered by the usb host. In this way, one might be able to create a some sort of sequencer-like MIDI-GUI with the nanoKONTROL. Did someone re-engineer the nanoKONTROL’s sysex functions, yet? - I’d be very interested in a list…

Kind regards,

So here is some extra details for you

  • For renoise I had no particular setting, I just used the renoise 2.0 default keyboard shortcuts.
  • For the ZeroSL i used the Midi CC Learn template, it is mapped like this
  • For MidiPipe I had the following setup RenoiseZeroSL.mipi
    When pressing the transport buttons midipipe AList tells me the following

    which is what I used to write the script.

I hope it helps anyone :D

Koppis code seems awesome (big upz!), I installed renoise onto my ubuntu VirtualBox to try it out, but got distracted before I actually tried it out :s… anyhow I got all my audio on the mac so it’s a side track. A proper app could be useful I guess, all though the pipe thing seems to work fine. I don’t have a stable enough internet environment for ssh access for you to develop on my machine :(

Fabila, Mundain: If your controller sends midi they should be usable in renoise, and the mmc buttons should be capturable in MidiPipe. Do you get anything in AList?

Best of luck!

FIrst I have to thank you for trying to help us! :)

When I press on play or stop button I am getting this in midipipe:

System Exlusive Data
240 71 0

But nothing works in renoise. I followed manual and conected my akai mpd24 as manual said, but still only pads are working. The green and red LED of the midi lights on when I press the pads in Renoise but not the sync LED.
Also any other knob or slider when used green and red midi lights on
Maybe I connected wrong in Renoise?

Hallo Fabila,

I have no experience with the akai mpd24, but it is a core midi device in osx and should work no problem in renoise, here are some suggestions:

Sliders and knobs:
With your akai connected with usb and renoise preferences->MIDI->InDevice A (or B ) set to Akai midi you should be able to play the drumpads in renoise. Then MIDI Mapping also should work, click cmd+m, look in your track DSPs tab, click one of the No Mapping thingies and fiddle with a knob on the akai, then exit Midi mapping, and tweaking the knob should move your DSP slider.

Edit: Also, be sure to read the renoise tutorial on setting up midi devices:

If nothing works still I guess read up on some manuals, check out the preset editor, perhaps your akai is setup funny… http://www.akaipro.com/mpd24

Play/pause button:
try changing the script in my MidiPipe to:

on runme(message)  
 tell application "System Events"  
 tell process "Renoise"  
 set frontmost to true  
 end tell  
 if (item 1 of message = 240) and (item 2 of message = 71) then tell process "Renoise"  
 keystroke space  
 end tell  
 end tell  
end runme  

Good luck

Oh, I forgot to mention that in some cases some of the mmc buttons work just by setting renoise to be midi slave to your midi in device, can be worth a try for a simple start. However using MidiPipe you can access more functionality :)

I`ve read the exactly the same tutorial you mentioned but still nothing. Even with the new code. I was actually hoping to control the whole Renoise with mpd24. But I think I have to upgrade the firmware of mpd24 . Maybe then will work.

BTW, I can mapp DSP tracks, but thats not enough for me :)

This solution seems easier than MidiPipe: midiStroke/

Hi, how do I do this?
I have the novaton remotesl and want the mmc messages of the buttons (play, pause, record, loop) control renoise. From your post it seems to me that it is possible?

Or, is it also possible to set the tempo with the knob of the remotesl?

I tried to set Renoise as Slave to the RemoteSL, but that didn’t do anything apart from the “sync” light to flash (although faster if I set more bpm at the remotesl)

Thanx :)

derr… why didn’t i think of that? worked perfectly with my akai mpd32. thanks!!

@fabila, does the mpd24 have options for what it sends when you press the transport buttons? on the mpd32, i set mine to “mmc/midi”, because mmc didn’t work with renoise, and midi didn’t work with pro tools. hth

EDIT: i guess it’s not “perfect”… only stop and play work (although i swear i had the forward and rewind buttons working at one point)… the record button would be the most useful… oh and if i just futz around with the mmc buttons for a bit renoise encounters a fatal error and quits…

EDIT 2: i had the akai set as the slave as well as master… no surprise weird stuff was happening. forward and reverse buttons are working again (still no record).

I’ve tried this and Midipipe says the script contains errors… it seems that it does not like the comment character. I have to do more research, I’m trying to use a padKontrol to use the transport.