[linux-audio-user] Mapping MIDI events to X events

tim hall tech at glastonburymusic.org.uk
Thu Dec 30 09:14:40 EST 2004


Last Wednesday 29 December 2004 21:30, Peter Brinkmann was like:
> Ivan,
>
> > so im eager to CONTROL jack-rack effects with my hands
> > !!! i cant imagine how that would be,  FX utopia...
>
> I know what you mean. Matthias Nagorni's ALSA Modular Synthesizer
> made me realize how nice it is to be able to control parameters in
> a hands-on fashion. It occurred to me that it would be really neat
> to be able to control all sorts of software with the buttons, dials,
> and sliders on my MIDI keyboard, even if the software isn't actually
> designed to accept MIDI input. So, I went ahead and built a little
> tool that maps MIDI events to X events. You can find it at
>     http://www.math.tu-berlin.de/~brinkman/software/pyseq.tgz
> if you're interested.
>
> Some features:
>     - You can record sequences of mouse and keyboard events and
>     assign them to buttons on the MIDI keyboard.
>     - Sliders and dials on the keyboard can be mapped to a number
>     of different mouse dragging events, so that one can control
>     parameters of soft synths and effects and such from the MIDI
>     keyboard, even if the software doesn't expect MIDI input.
>     - Basic support for receiving and sending bulk data from
>     keyboards.
>     - A simple game of Pong, controlled by MIDI events. Not
>     terribly useful or fancy, but it illustrates the general
>     idea of creative misuse of MIDI events.
> Here's a simple application that I actually found useful:
>     - I mapped three buttons on my keyboard to Play, Stop, and
>     Record in rosegarden.
>     - I mapped a number of buttons to mouse clicks on differents
>     tracks in rosegarden, followed by the Delete key, so that
>     pushing a button on the keyboard would activate and clear
>     a track.
> With this simple setup, I was able to record a piece consisting
> of several tracks straight from the MIDI keyboard, without touching
> the mouse or console at all.
>
> Some requirements:
>     - The package uses Python, Tkinter, and ctypes.
>
> Some instructions:
>     - Unpack the tar archive with
>         tar xzf pyseq.tgz
>     and build the binaries with make.
>     If you wish to install the package system-wide, you can say
>         make install
>     - In order to use the MIDI mapping features, just say
>         python midimap.py
>     in a shell window and connect the MIDI In port of midimap.py
>     to the source of MIDI controller events (using the connection
>     window of qjackctl, for instance). Then, if you move a slider
>     or push a button, a dialog will pop up that'll let you choose
>     how to handle such events.
>
> Some warnings:
>     - The software is brand-new (I added the most recent features on
>     Sunday night), and it's hardly documented yet. However, the main
>     part, midimap.py, comes with a graphical user interface that is
>     supposed to be self-explanatory. If there's sufficient interest,
>     I'll sit down and document everything properly.
>     - So far, I've only tested the package under DeMuDi 1.2, with
>     an Edirol PCR-30 keyboard. Your mileage may vary.
>
> I'd be eager to hear any comments/criticism/etc. regarding this tool.
> Best,
>     Peter

It sounds like a great idea. I have downloaded and will play with this later.
I'm also using DeMuDi, so I guess it should work.
I'll let you know how I get on.

cheers

tim hall
http://glastonburymusic.org.uk



More information about the Linux-audio-user mailing list