I recently bought a small midi controller called the korg nano kontrol, to integrate into my live set. It has many knobs and sliders and some buttons. I have been trying to figure out how to use it with max and I feel like my brain is melting. I read several of the MSP midi tutorials as well as the Max Midi basics tutorial and I’m still really in the dark. It’s especially bad because someone just showed me how to use the controller with Reason and it took less than 30 seconds to be assigning knobs and sliders to devices. Of course I realize MAx is a different beast …. but I feel Like I’m reading VCR instructions in German.
Basically how do I assign all the different knobs and sliders to different buttons and number boxes. When I open the Midi set up It seems like my entire device is represented by one name and I can give it one letter and ……. help.
Well, of course, Max is not Reason, wich is great in its category btw.
In fact you are adressing several points:
_What are the basics of MIDI protocol?
_How do I monitor my midi controller inside a max patch?
_Do I really need Max/MSP? Maybe Reason is better suited to your project.
You should have a look at "MIDItester" in the menu "Extra" then tweak the knobs on your controller and see what happens.
Something like Reaktor (or any end-user application) has made a whole bunch of decisions for you already. The MIDI standard itself has its own ways of dividing up what kinds of input gets sent from a knob or fader, and so on. That’s all hidden from you by programmers. In this case, you’ll need to know two things:
1. Where do the MIDI messages come from and what does a MIDI message look like?
You should spend some time looking at the MIDI tutorials 1 and 3 in Max 5. They should be greatly useful to you.
2. What is it you want to control, and what’s the data range of that stuff?
MIDI kicks out streams of numbers in the range 0-127 for nearly everything, and it’s doubtful that 0-127 is going to work well for things like, say, volume (which might be 0. -1.0 if you’re working with the *~ object or 0-157 if you want to use a gain~ slider. So I would suggest that you spend some time looking at the Max Data Tutorial 2, which will teach you about scaling data.
Once you’ve got that, it’s really a matter of connecting outputs to inputs.
And never hesitate to send a small patch if a precise question arises.
i also have a korg nanoKontrol, i hope yours is mapped the same as mine because here’s all the inputs from mine.
you then just patch the sliders and dials and toggles to anything you want.
NB this is only one way of doing it – check the ctlin helpfile!
NB2 this is while the nanokontrol is set to "scene 1" – you can work out the rest of the scenes for yourself in the ctlin helpfile.
hope that’s a help!
----------begin_max5_patcher---------- 1229.3oc6assjahCD8Y6uBU7r2Tp6Vbaea+NRkZKO1LSHwCLkMSxrap7uuBv WyZ6lIVzRO3opAaCH3bQt0Ar3GSmD8P8aEahT+o5ipIS9wzIS5VU6Jlr8ySh dd9aKVMeS2tE0T+zSqJhl0uoWl2r3ykUO82qKVzzeXL4wePOSAIcuf5cKUeZ aapesYUQSy+7RQeChJqrMc2VKW1cZpe3K+QNr6zT85ykU1F0AA3vJ6OT8qsc k+b5z1EybFWRbFWPuyExYbg7NW11GitctnCk9X2NWxxCk9XNfKYiLWpJ9t87 r6jzT7VGEhVaOrEJSpxDqLY1NZV+QYLCfy5sTOimzQytv+mUI1+ssGqqZpl+ b2QI5uVWNe0waYS4+1sE.s.XvRWp6jtWlu3qWQmfN8IsaIkL.Q5rhA5Fw.G6 9QOTWsrlUML8KMCrKyYUDXLUDzcJxhlUkUrJxVcIYXUNlcxKmUdzi42dnwnH JQPG6MYGDj1k+FEQ883ADXbDU79PaXdpinB38HGXl1Ubw6QzwDxUbw6Qzws0 8b.W7dDcDycEWLdmKciJ3DtD6at.8W5jK3RhOinSjhLJJ1lkTQoJJSQ1r5Zk AF.4wsWJbWWTH82JqNWtcH88k7H+8D7.ziYxCMcy8MBlnGNfKAS1iamKXvj8 vAbIXxd3.tDLYOb.WBlrGNfKAS1CGvkfI6gC3hWydfj8qKJL1V.Pgo1RZ1Jz JRaGygm7Pe8uwM6AFbYOVdzY9biVG2KNl9BpvtkWVadbU87Kz2Xe1iGdZQ8p 508sP+grD6eoyN66N9b83oMKY+N++e2wMqpnX4phSZpd1QKNYeGfLeDyKqN8 3lkgTLM6ru63Sy2ZVOewWsRcaCGCaibnske21jx1.2Yaj9tsIjsg4Nz1f61l T1VpCsM7tsIks4vHIDc21jx1bXjDxb21jx1bYjj361lP1F3xHII2sMWYaW81 W.FEDqfDEjpfLqGpPs00TGtIjWwo2NMmxMi3sufBtaewlUkKKVe0YuBbzLeC 5+w0ZmXOuyI3Ds+lWTutrnpYdSYc0uL+bFi62EOAIiaHXdnRPH0IDznCUBp0 tgfPfRvLxM7CCT9kj3F9QAJ+L4tgel.keD5F9EGpEXhcC+R7C+t9O4ihTFUr JQkoxU.pNLCqtrRnEXZlXDKqT2YOpMS6u7.C0I.sq+TwcS8qqWrie6lI6VIb GIVVroorZu69wCOzOpCB0mKWtrna66f8ykKeotrpYKHTe5rV86BSFNLgxiIh CSj7XB4vjVdLALXp8ghQRLcZWkKfIO3crXJK7zo1oPWngIL.wDEfXxHLlfgT K.OYmDAS5gfIA0I8PvDHqNoGh2IatftROYbXRTHgCARPl7xTJWr.4kINHA4x KSIbXRKuNwgITKuNwcEB.HuNwgIzCUm3tpE.kWm3vDhxqSbWIEPxqSbXBkES zPFZA8vPKbWwY6yFlzdGGlPi7dG23cnGFuiKQW6yBmzdGGlvX40I1qBNQdch 8pfSjuONWVERKOl3xEPf7XhaLXBkGSbi2QdX7Nt53jGpiyUehhkGSr28IYqE XFRVEJSdLwMFLkKOl3pYZzxiItZlFPdLwUyzfxiItZlFRdLwUyzXjGSb0LMw xiI16N9sTyz9geN8+.fsXiwF -----------end_max5_patcher-----------
Thanks a lot !
to you for this great patch, and everyone else for helping, really I just think that the intro to midi tutorials are confusing but now I have figured out basically how to do it.
One question though with the patch you sent me would you just hide that in a sub patcher of the patch in which you wanted to use it?
hey there.. i think i’m trying to do the same thing as you were back in March with the Nanokontrol.. How’d you go? I COMPLETELY identify with your "reading a vcr manual in german".. But I htink I’m slowly getting it too..
How did that patch work out for you? Any tips you’d give?
I posted that patch and BaltimoreMAX seemed to find it useful. However, a little while later there was another nanokontrol thread on here, about it dropping MIDI messages when using ctlin. someone called Lewis came up with an abstraction (and a helpfile for it) that got around the problem – it’s here: