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
-
Fork the repository
-
Add your changes
- Create a new yaml file
- Check that your YAML file is valid: http://www.yamllint.com/
- 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
We have created a template in Excel if you want to populate. In the repository, you will see a file called openmidi_template.xlsx
.
- Download the Excel template
- Populate the Excel file
- Email it to help@morningstarfx.com with the subject
OpenMIDI - <Brand Name> - <Model Name>
- Our team will review the data, covert it to the required format and push it to the repository.
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]
min: [Minimum CC Value]
max: [ Maximum CC Value]