Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting input from MIDI devices live (Python)

Tags:

python

midi

I've got a trigger finger (MIDI tablet) and I want to be able to read its input live and make python execute actions depending on the pressed key.

I need it for Windows, and preferably working with python 2.5 +

Thanks

like image 456
Gabriele Cirulli Avatar asked Oct 12 '09 14:10

Gabriele Cirulli


1 Answers

PyGame includes a built-in midi module, available for Linux, Windows and MacOS and is very well supported.

For example, here is the documentation for pygame.midi.Input:

  Input is used to get midi input from midi devices.
  Input(device_id)
  Input(device_id, buffer_size)
        Input.close - closes a midi stream, flushing any pending buffers.   closes a midi stream, flushing any pending buffers.
        Input.poll - returns true if there's data, or false if not. returns true if there's data, or false if not.
        Input.read - reads num_events midi events from the buffer.  reads num_events midi events from the buffer.

If you're looking for an alternative, have a look at PythonInMusic in the Python wiki.

There are various different projects related to MIDI input and output there, some for Windows as well. (Click the little > sign after each project to follow the link to the project homepage)

I have not used any of them personally, but I'm sure it will help you get started.

like image 102
Andre Miller Avatar answered Nov 08 '22 09:11

Andre Miller