Skip to main content

MIDI Forum

Device Name Best Pr...
 
Notifications
Clear all

Device Name Best Practice?

2 Posts
2 Users
0 Reactions
19 Views
Posts: 1
New Member
Topic starter
 

Greetings,
I recently took my first deep dive into MIDI after acquiring a Roland SC88 Pro and building a custom interface and written software for playing with all 32 channels.  I was wondering why the 'MIDI port' meta event is considered obsolete in favour of device name.  Assigning tracks to devices based on a numerical index seems the most logical thing to do whereas having specifically named devices implies that the file and the player must agree on what the names are.  Is there a standard naming convention for this?  If not then what I'll probably do is assign an index to each unique name as it appears in the file.  Is that an approach that exists already?


 
Posted : 09/09/2025 3:49 pm
Bavi_H
Posts: 277
Reputable Member
 

I believe the "MIDI Port" meta event was an unofficial MIDI event created by some software (probably Cakewalk) and not an official addition by the MIDI Manufacturers Association. I think that once the MMA became aware of this unofficial event, the MMA decided to create an official event that does the same kind of thing, and they created the "Device Name" textual meta event that lets you use text to specify the output device instead of just a number.

However, in my limited experience, if some MIDI file software supports multiple ports, I think it will be more likely to support the "MIDI Port" event and won't know how to do anything with the "Device Name" event.

 

When you are creating your own MIDI file software, you will probably want to support the "MIDI Port" event, since I suspect many MIDI files might use it. You might also want to support the "Device Name" event since it is the official kind of event that is supposed to be used, that will help support using official MIDI file specs to make "compliant" MIDI files, in some sense.

If you use the "Device Name" event, I think the idea is the person who creates the MIDI file can use descriptive names, for example, maybe something like "Roland SC-88 Pro MIDI IN A" and "Roland SC-88 Pro MIDI IN B". Then when MIDI file software that supports the "Device Name" event opens the MIDI file, it can let the user map those device names to appropriate MIDI output ports on their system, or maybe it can do it automatically if it recognizes certain names.

If the person who creates the MIDI file doesn't feel the need to describe what device is used, but just wants to have more than 16 channels, they can use generic device names like "A" "B" "C" or "1" "2" "3".

. . .

Here is what the specification says.

Recommended Practice (RP-019) SMF Device Name and Program Name Meta Events:

Recommendation Regarding Device Naming

There are many ways MIDI Files are used, and the Device Name Meta Events may be used as appropriate. For MIDI Files which are used by a single user on a single computer between many programs, Device Name Meta Events are a useful way of preserving the information between programs. The names make perfect sense within the context of that user's system, especially with systems that keep track of where the devices are actually located.

When a single user's MIDI File is used on another computer, the Device Names often will not match the devices on that other computer. In this case, it's handy having the original Device Names stored as text in the track so that the user or an intelligent software package can make the best decision about what device the track should play on the second computer.

When MIDI Files are authored for widespread distribution to unknown studio setups, generic names indicating the type of desired instrument (the synth if SysEx is included, or the sound if it isn't) are useful Device Names, or Device Names may be omitted entirely, especially if the entire file contains fewer than 16 channels.

When MIDI Files are authored for widespread distribution to run on a specific type of system, the system manufacturer can choose to use a textual representation of numbers ("0", "1", etc.) as Device Name labels, or the manufacturer can recommend more specific names ("FM", "Wave", etc.).


This post was modified 2 days ago by Bavi_H
 
Posted : 21/09/2025 10:01 pm
Share: