home/ atoms/ midi-ci-profile-as-contract

A MIDI-CI Profile is a published set of messages and required responses that devices can advertise and negotiate

A MIDI-CI Profile is an MA/AMEI specification defining a set of MIDI messages and required responses for a particular application — mainly specifying receiver behaviour, and possibly implying sender implementation too. General MIDI is the closest legacy analogy: it guarantees a defined sound-to-program map, reception on all 16 channels, drums on channel 10, and defined responses to a chosen message set, so devices can predict each other’s behaviour. The advance MIDI-CI Profiles add over GM is two-way negotiation: GM had a ‘GM On’ message but no reply from the receiver, whereas a MIDI-CI device can advertise which Profiles it supports and answer a query, letting the pair auto-configure only when both agree.

Examples

A device asks another ‘do you support the Piano Profile?’ and, on a yes, both auto-configure sound assignments and responses — where General MIDI could only send ‘GM On’ and hope.

Assessment

How does a MIDI-CI Profile differ from General MIDI in terms of communication? What does a Profile primarily define — sender or receiver behaviour?

“The most successful legacy MIDI feature that is similar to a Profile in the first three decades of MIDI has been General MIDI.”
corpus · midi-2-0-specification-overview-v1-1-amei-midi-association · chunk 4