MIDI library recommendations, please?

Carlos Ribeiro carribeiro at gmail.com
Mon Dec 20 16:09:43 EST 2004


On Mon, 20 Dec 2004 19:56:30 GMT, Andrew Koenig <ark at acm.org> wrote:
> Are there widely used and recommended Python libraries that will let me
> 
>     1) Interpret and generate MIDI messages easily?
> 
>     2) Allow me to select and communicate with MIDI devices attached to my
> computer?

I can share the results of my research on the same topic, done August
this year; a little bit old but not terribly outdated. (Sorry, it's
not in depth, but it may be helpful):

My own notes on the topic:
http://pythonnotes.blogspot.com/2004/08/implementing-real-time-midi-playback.html
http://pythonnotes.blogspot.com/2004/08/guitar-midi-simulator.html

Some libraries that I have evaluated:

midipy
http://www.josos.org/midipy/
Real time midi playback module. Not actively maintaned, but works. 

MIDI Stream API
http://www.borg.com/~jglatt/tech/stream.htm
That's the best site for MIDI information that I could found. It
explains the WinAPI, and talks a lot about details of the API, and to
use it. Good reading.

I don't have the pointers here with me, but you can find more info on
the c.l.py archives: someone posted recently (at least twice this
semester) an annoucement for a Python MIDI library that could read and
write standard MIDI files. Also, there is a Python program that
simulates a band (a la "Band in a Box", you select the rythym &
harmony sequence and it generates drums, bass line, and
accompaniment). It's a cmd line tool, which means that it's probably
easier to integrate or reuse the code for other purposes.

BTW I followed another thread where you talk about the TI99, so I
think I know what are you want to do :-). I had a similar motivation,
but in my case, I started to write a guitar player simulator; it would
simulate the timing of a rythym guitar as the right hand strum the
strings. I would like to avoid the weird "piano with guitar sound"
that happens when you simply play a chord, with all strings being
strum at the same time. It's stopped now, but I keep promising that
I'll finish it as soon as I can.

-- 
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: carribeiro at gmail.com
mail: carribeiro at yahoo.com



More information about the Python-list mailing list