Midi Integrator

A simple way to convert PC inputs; keyboard, mouse, joystick etc, to midi input, combine it with other midi instrument input, then route it to whatever instrument you wish.

An open, extensible system to integrate a pc/mac and midi devices, into a single musical omni-instrument, usable by  non-technical people with a flexible “set-up once and forget” process.

Everything can be found here: http://www.altkeyboards.com/integrator and you can download the files here: http://www.altkeyboards.com/file-cabinet.

A few highlights:
· Allows adding sustain, pitch-bend and modulation controls, via one or more touch-pads or a mouse, to any midi system.
· Any key can trigger a note, control command, pitch-bend, or preset action; converts your PC-keyboard into an auxiliary midi-input controller and keyboard.
· Works especially well with 2-dimensional instruments like the Axis-49 and -64.
· Enables features that are normally considered “high-end” in keyboards, such as keyboard splitting (parts of a keyboard playing other instrumental sounds), and key and octave shifting at the touch of a key.
· Extensible with a Max/MSP development system. For example, it can be made fully micro-tonal.

It is certainly not perfect – it would be better with bpatches, for example. I would be happy to see how it can be improved.

How did this project use Max?

It uses Max throughout, and takes advantage of the neat PC keyboard input translation you provide.
It is also a good example of how to document Max/MSP.
It also contains many patches that can be reused by others.

April 4, 2011 | 9:20 am

This is a nice ans usefull idea from you. The MIDI Integrator works even if the application does not have the focus? Keystrokes are in fact not necessarily passed – unfortunately. That was the problem in my application.

April 4, 2011 | 12:48 pm

It works if you maximumize the app to fill the screen. Ditto for mouse movements. This application is generally to be used on a dedicated Netbook that has been set to not be interupted or to go to sleep. it runs like a cheeta even on the slowest netbook.

April 5, 2011 | 2:03 am

Ok – I see, but there must be a more elegant solution to grab events? A dedicated laptop use – a iPad would be easier to take and you have great OSC solutions. No – Max may either on its own or an external one should be in c / c + + write – that’s my opinion.

April 5, 2011 | 7:52 pm

Your sound on your site is awesome cool.
Back to the topic: There’s always a more elegant solution, and I’d love it if you could help develop one. For me, the Max/MSP solution works well enough, works on both the PC and Mac platform as a single executable (!!), and is open source that others can understand and enhance.
I’m very pleased, and consider Max 5 to be well worth it. (4.0 and 4.5 I had my doubts about.

I spent a fair bit of time trying to grab the Touchpad input as a HID input separate from the mouse stream. No go: In windows the mouse and keyboard inputs are locked down pretty tight. It’s only when Windows hands the input over to Max/MSP or other running program that it can be accessed by simple programming.

Peter Davies
April 9, 2011 | 3:47 am

I can see that users of alternative keyboards will benefit from expanding their range of expression with your MIDI integrator, and (not having tried it yet) you don’t necessarily need a MIDI device in order to make music this way, you can do so just with your existing computer peripherals, is that correct?

April 9, 2011 | 8:26 am

Peter, you are correct, as soon as it starts it starts monitoring mouse and keyboard input, and checks this input against the translation tables. I’ve provided a starter set, but you can edit the tables in real-time, or load alternate versions to instantly change the mapping rule.
By default you can start playing in the *jammer* layout, but one can easily switch to piano layout (ugh), or set up a sonome mapping. I should post the spreadsheet I use to figure out the assignments.

Viewing 6 posts - 1 through 6 (of 6 total)

Explore More