Okay, first some ideas. MIDI is a universal music standard managed by
+++MIDI.ORG +++ that allows musical ideas, such as a song project, to be shared as data, not audio, in a small file. These files typically end with the suffix .MID. Digital Audio Workstations, or DAW, such as PowerTracks Pro for example creates project files (.SEQ in this example) that can contain audio, MIDI data and DAW specific song project information.
One problem is some way is needed for the
same instrument sound to play on every machine when a .MID file is played on different machines.
Problem two is some way is needed for
multiple instrument sounds to play on every machine when a .MID file is played on different machines.
The MIDI standard created an instrument list that assigns a number to each instrument. That list is called General MIDI or GM. PG Music uses this list and it is available
+++ HERE +++. That is why you see numbers beside the name of MIDI instrument.
There are more instrument name assignment lists. Yamaha has the XG list, Roland has the GS llist and MIDI.org has the GM level 2, or GM2, list. There are more lists. You can compare the different lists
+++ HERE +++. But, be aware that the overwhelming majority of midi files available on the internet use the GM list.
So, that is why a piano sounds like a piano when you play a .MID file on your phone, in PowerTracks Pro or on many consumer electronic keyboards.
Now for the second problem. How do we separate piano data from bass data, from drum data and so on? The MIDI standard identifies the data for each instrument with a channel number of 1 to 16. PowerTracks Pro matches the channels to a track.
You can see what I'm saying in the RealBand screen shot I've included.