OpenMIDI is a community driven effort to document the MIDI implementations of various MIDI devices for the benefit of all musicians. It aims to be the source of truth and reference via community feedback and contribution.
This information is made available at www.openmidi.com or in this repository for public use.
OpenMIDI is hosted free of charge by Morningstar Engineering
If you are new to Github, we have some basic instructions on setting up your account and doing your first Pull Request here.
Special thanks to all who have contributed!
- Huevos-y-Bacon
- Raphael Hüni
- Daniel Gensberger
- applekor
- Joel Lang
- andloubry
- bzhgeek
- fuzzy-phil
- Harris Novick
- Wincent Ek
List is not updated.
We have added a web-based form on OpenMIDI. Submissions will go into a queue which will be reviewed and added.
-
Fork the repository
-
Add your changes
- Create a new yaml file
- Check that your YAML file is valid: http://www.yamllint.com/ (or https://codebeautify.org/yaml-validator)
- Update
mapping.json
file- Check that your JSON updates are valid: https://jsonlint.com/
- Create a new yaml file
-
Commit your changes
-
Create a pull request
The MIDI data for each device is saved in yaml files.
The yaml files are organized in folders data > brands
Each yaml file follows a template (see template below)
After a new yaml file is created, the mapping.json
file needs to be updated to map the brand and product name to the new file.
midi_in: [TRS | Tip Active | Ring Active | DIN5 | USB]
midi_thru: [Yes | No]
phantom_power: [Yes | No]
midi_clock: [Yes | No]
midi_channel:
instructions: |+
[Description on how to set up the MIDI channel for the device]
pc:
description: |+
[Description on how PC messages work on the device]
cc:
- name: [CC Function Name]
value: [CC Number 0 - 127]
description: [Description of function]
type: [Parameter | System] # Note: Parameter is a value to change (e.g., volume). System is a command to the device.
min: [Minimum CC Value]
max: [ Maximum CC Value]