Database of instrument definitions

Thanks to a suggestion by @Joris.Roling, the MIDI CC & NRPN database’s website now offers Hapax instrument definitions for documented synths.

The instrument definitions are produced according to these rules:

  • TRACKNAME gets set to the device’s name (“Analog Four MKII”)
  • The device’s name and its parameter names are stripped of unsupported characters (:, /, ", etc.)
  • Parameters with MSB only are listed in [CC]
  • Parameters with MSB and LSB are listed in [CC_PAIR]
  • NRPNs appear in [NRPN]. These sometimes duplicate the functionality of parameters in [CC_PAIR]; it seems Hapax uses the NRPN parameter and ignores the CC pair parameter in these cases.

… and with these caveats:

  • TYPE, OUTPORT, OUTCHAN, INPORT, INCHAN, and MAXRATE are all set to NULL, and will need your manual adjustment in a text editor before use
  • [DRUMLANES], [PC], [ASSIGN], [AUTOMATION], and [COMMENT] are left empty
  • There are no defaults provided for [CC], [CC_PAIR], and [NRPN] parameters right now. When the database eventually supports default values, I will update the generated Hapax instrument definitions to include them.

You can browse the database and choose output formats at its website: https://midi.guide. The database is maintained by community members and is provided under the CC-BY-SA-4.0 license. We use a CSV format to maximize the database’s accessibility to non-programmer musicians. You can access the data directly (or add a missing synth! :wink:) at the GitHub repo: GitHub - pencilresearch/midi: MIDI CC & NRPN database

Please let me know if you have any feedback on the generated instrument definitions, or if you find any bugs.

9 Likes

so youre uploading them to your database?

As I understand it, the website generates the definition files from the data that is already on there, no?

1 Like

That’s right - the instrument definitions are generated from the database’s underlying CSVs.