File Reference SysEx Message
This message allows computer based MIDI devices to access files on a shared file system or network using a URL-style file specification. It allows the sounds in these files to be played using simple MIDI messages.
Because of the nature of computer-based MIDI devices and their ability to directly (or indirectly, through software drivers) access files on a shared file system or network, a file reference mechanism using URL-style file names allows these devices to optimally load sounds without transferring the file contents over MIDI. Additionally, the existence of standard URL managers on newer operating systems allows MIDI device manufacturers to implement this file reference mechanism easily to enable such features as DLS file loading and WAV file loading using existing MIDI sequencers and software.
The DLS Level 1 specification does not provide an API definition, and currently no operating system vendors have implemented one. Even though DLS APIs have been promised by OS vendors, their delivery has been repeatedly delayed and their use will require existing MIDI software to be rewritten. Proprietary APIs have been developed by some manufacturers, but these do not address the broad needs of the industry by providing a consistent delivery mechanism for downloadable sounds. Because DLS file loading is really a subset of the generic concept of file loading, it is simpler to provide a file reference mechanism that can be used for DLS file loading as well as other file types like WAV files, SoundFont files or other file types.
This solution adds a new MIDI system exclusive non-realtime message to the MIDI specification. This message is intended to be used for the purpose of loading sound files from a shared file system or network, and playing them using standard MIDI channel events (program change, note events, continuous controllers, etc.). The message consists of a URL-based file name and a set of file type parameters.