File Exchange

image thumbnail

MIDI Interface for MATLAB

version (16.9 KB) by

Supports bringing incoming MIDI data into MATLAB on Windows.



View License

This simple interface allows MATLAB to read incoming MIDI data from a MIDI device or another MIDI program. For instance, if a MIDI keyboard is connected to the computer running MATLAB, this interface could be used to see what keys the user is playing, what knobs he's twisting, what pedals he has down, etc.
% Open an interface; the tool will prompt to select a device.

% Play some notes on a connected keyboard or wiggle some knobs on a MIDI controller.

% Read all the new MIDI messages.
messages = midi_interface();

% Close the device.

This currently only works on Windows (32/64-bit) and only supports one MIDI device at a time. If this tool proves useful for people, we could take it further, so just let me know!

Early beta.

Comments and Ratings (5)

Tucker McClure

Tucker McClure (view profile)

Hi Sima H,

The messages this tool outputs use a standard MIDI format consisting of several integers per "message". You can read about their meanings online; a simple search for "MIDI messages" ought to do it. Also, a few of the most basic messages (note on/off and velocity) are covered as part of the MidiDemo.m in the Real-Time Audio Processor, available here:

- Tucker

Sima H

Sima H (view profile)

Hi. I wonder if you give me a brief explanation about the massages.


Dace (view profile)

Sorry, had a problem with the cable. Now working. Great code, very helpful. Thanks!


Dace (view profile)

I wonder, why do I always get an empty messages matrix?

I open the interface, select the device, play some notes on the keyboard and execute messages = midi_interface() which always returns an empty matrix.

very helpful! thank you!


Updated license


The output timestamps of the MIDI data were wrong and aren't any more. (Thanks Janne.)


Updated copyright information.

MATLAB Release
MATLAB 7.14 (R2012a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video