-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome. Welcome. Welcome.
-- The entire Ig Nobel awards ceremony welcoming speech
KeyMaster is a MIDI processing and patching system. It allows a musician to reconfigure a MIDI setup instantaneously and modify the MIDI data in real time.
With KeyMaster a performer can split controlling keyboards, layer MIDI channels, transpose them, send program changes and System Exclusive messages, map and filter controllers, and much more. With a computer keypress or mouse click or the stomp of a foot switch (or any other MIDI event), an entire MIDI system can be totally reconfigured.
KeyMaster lets you describe songs, which are lists of patches that make connections between instruments. Those connections can send program changes, set keyboard splits, transpose, send, remap, or limit volume or other controller changes --- all in real time.
Set lists let you organize songs into set lists for live performance or in the studio.
Any incoming MIDI message can trigger an action such as moving to the next or previous patch or song. For example, you can tell KeyMaster to move forward or backward based on controller values coming from foot switches or an instrument's buttons.
Any array of MIDI commands can be stored as a named message which can be sent via a trigger, a key press, or from any filter.
A master MIDI clock is sent to all outputs when it is running. The tempo can be set per song.
A software panic button turns off any stuck notes.
KeyMaster is cross-platform: it should run on Mac OS X, Linux, and Windows.
KeyMaster is by Jim Menard. It is a faster C++ version of PatchMaster. The Github repo is here.
-
JUCE (the
JuceLibraryCode/directory is included in the repository) - Xcode (macOS) with the Command Line Tools package, or an equivalent C++ compiler on other platforms
- The
makeprogram
On macOS, install Xcode or the Xcode Command Line Tools. Then clone the repository and build:
make buildYou can also open Builds/MacOSX/KeyMaster.xcodeproj directly in Xcode
and build from there.
Other useful make targets:
make run # build and launch KeyMaster
make build-tests # build the test suite
make test # build and run the test suite
make clean # remove build artifactsLaunch KeyMaster from the Finder or with make run. If no project file
is open, KeyMaster scans your system for all attached MIDI devices and
creates a set of starter songs that link them together in various
combinations.
Use File → Open to load an existing project, or File → New Project to start from scratch.
KeyMaster projects are saved as JSON files with the .kmst extension.
See the Sidebar.
- Tutorial
- Components: songs, patches, connections
- Patches and connections
- Tips and Tricks
- Screenshots
- Changes between versions
- To Do list, including bugs and new features