Skip to content

Latest commit

 

History

History
22 lines (14 loc) · 2.35 KB

README.md

File metadata and controls

22 lines (14 loc) · 2.35 KB

Open MIDI Realtime Control Schema

The Open MIDI Realtime Control Schema is an open-source JSON schema for defining and describing MIDI parameters for apps, software, and devices that can be controlled in real-time.

For manufactuers and developers, creating documents that adhere to the schema provides the ability to:

  • Generate documentation
  • Generate code stubs
  • Test implementations against the schema
  • Integrate with other apps/software/devices that have published a document that conforms to the schema

Since this is a JSON Schema, there are online and offline tools available that can validate a document and ensure that it conforms to the schema, such as https://www.jsonschemavalidator.net. To try it out for yourself, copy and paste the contents of the schema file into the text area on the left side of the validator. Then copy and paste the contents of one of the examples into the text area on the right side. The validator should indicate that there are no errors and the document successfully validates against the schema.

In addition, there are also tools that can generate code stubs, which can be used to parse or create documents that adhere to the schema. Once such tool is Quicktype, which can be installed via npm. For convenience, a script for generating data models via Quicktype is available in the tools directory of this repo. Additional tools for creating spec files and documentation are in the schema-tools gradle project.

Existing documents

Open source specs that conform to the schema can be found here: https://github.com/eokuwwy/open-midi-rtc-specs

See the list of apps, software, and hardware that use the Open MIDI Realtime Control Schema.