Lightweight MIDI input framework for ChucK
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



MIDIFlower is a lightweight MIDI input framework for the ChucK music programming language. Written in ChucK, MIDIFlower listens for and routes incoming MIDI data to your ChucK instruments.

If you're using a MIDI controller with ChucK, MIDIFlower is for you.


Using MIDIFlower is simple:

  • set your device port;
  • create an instrument class;
  • assign your instrument to a MIDI channel.

In detail, and assuming use of miniAudicle:

  • Set your MIDI device's port number in (see miniAudicle's Device Browser for this number).
  • Create a class and inherit from MIDIFlowerPetal.
  • Implement the MIDI messages you wish to respond to by overriding the corresponding methods in There are eight different MIDI messages and they're all optional.
  • Instantiate your instrument and MIDIFlower.assign(); it to one of 16 MIDI channels. You may assign more than one instrument to the same channel for multi-timbral performance.
  • Add Shred:
  • Add Shred:
  • Play your ChucK instrument with your MIDI device!


The source code is completely documented, and is a basic implementation.


  • Ensure that your MIDI device is transmitting on the proper MIDI channel.
  • Use MIDIFlower.log(true); to see if MIDIFlower is receiving MIDI data.


MIDIFlower is available under the BSD 2-Clause License.


© Gregory Lee Newsome 2016