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.

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.

More Links

Apr 04 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.

Apr 04 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.

Apr 05 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.

Apr 05 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
Apr 09 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?

Apr 09 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

Subscribe to the Cycling ’74 Weekly Newsletter

Let us tell you about notable Max projects, obscure facts, and creative media artists of all kinds.

* indicates required