No MIDI library for Processing 3?

It’s been a while since I’ve used Processing. I’m looking in the library manager and on the libraries listing on and I’m not seeing any MIDI library. Is there no supported way of sending/receiving MIDI anymore?


1 Like

Minim library works with midi sounds

I’m not trying to play MIDI files (which is what I think you’re referring to). I’m looking to send MIDI messages (note messages or CC messages) that can be received by some audio software. Or receive MIDI note messages from a hardware MIDI controller, for example, and have Processing synthesize sounds. In technical terms, I want my processing sketch to act as a MIDI controller or a MIDI synthesizer.

TheMIDIbus library???

1 Like

For reference: The MIDIbus is in Contributions Manager – and also available via GitHub for non-PDE projects.

Minim methods that send or receive MIDI messages are generally focused on MIDI <–> frequency conversion, but in case it is relevant see specifically:

The oscp5 library can also pass handle MIDI notes as a data type – although they are wrapped in OSC packets.

1 Like

Why am I not seeing theMIDIBus when I filter for “midi” in Contributions Manager? That’s where my question started I guess.

Strange. I am seeing it here:

Maybe it’s because the computers I’ve just installed on are Windows? I get the same results as you, without themidibus.

same here:
win 7
processing 3.4 java mode

there i not see any limitations or prerequisites

Not sure. I don’t see anything limiting the OS in the properties file that is used by Contributions Manager:

…although that file is from 2015, maybe a setting was added in 3.x that is missing?

Ah: When I uninstall TheMIDIbus it is no longer available for reinstall – I have to re-add it manually from the github download. Then it reappears in contributions manager.

Submitted an issue:

…although I’m not sure the library is actively maintained anymore.

Since it has been 3 years since the last update to TheMIDIbus does it still work ?

It is available in PDE Contributions Manager and is working fine on my machine.

It does still work on my Macs, but unfortunately Ableton Live stops working with the sent MIDI messages after 5 or 6 hours of continuous use. There are threads about MIDI timestamps & using MMJ lib to get around this, but those are several years old. Does theMidiBus work for you on permanent installations or all day events?

Stopping/starting Processing and/or Ableton Live does not work, nor does taking the IAC bus offline/online.

Are there simple alternatives to theMidiBus? It is SOOOOO simple to use, to control Ableton Live.

That’s really odd.

@borjonx, thanks – could you point to these threads? I’m not able to find them on the forum or Google search.

Hope you were able to resolve your problems.

Hi @borjonx. Since I missed this thread a few months ago I thought I’d comment on my experience with MIDI and Java/Processing. I have always just relied on the javax.sound.midi package. It’s not terribly difficult to use and adapt. I have an example here: Pd4P3/examples/MIDI/MIDI_Example at main
I just adapted Phil Burk’s code: jsyn/src/main/java/com/jsyn/midi
The MidiBus developers note that Apple has a few issues: The MidiBus - Small but Digital at the end they mention using MMJ to deal with Apple not supporting SysEx messages, but overall MidiBus looks like it is just wrapping the javax.sound.midi pacakge.
However, I’ve never relied on MIDI as a protocol in any circumstance over long periods of time. I usually fallback to OSC or serial/network I/O for that kind of robust performance. I’ve successfully used OSC to stream data for days without error.
Anyway, I’m happy to help with the javax.sound.midi package if anyone needs it.

1 Like