fbpx
Skip to main content

MIDI Forum

How do I access gen...
 
Notifications
Clear all

How do I access general midi's alternate drum kit sounds?

11 Posts
4 Users
0 Reactions
19.5 K Views
NOODLESOUP
Posts: 6
Active Member
Topic starter
 

How do I access the multiple drum kit banks that general midi has? I am creating pure .midi files with Logic Pro so no cheating.

When you set a MIDI track to channel 10, it automatically defaults to the default midi drum sound.

But how do I change the drum kit to the other general midi drum kit sounds?

This forum will not let me link to midi file examples unfortunately - it marks them as spam.

Thanks!

 
Posted : 16/01/2018 1:58 pm
Geoff
Posts: 1039
Noble Member
 

Sorry to be a bit pedantic, but GM (General Midi) knows nothing about alternate drum kits. The whole point of GM is that it's a standard set of sounds, so a midi file using GM will sound the same (or very similar) regardless of what it's played back on if the playing device also uses GM.

Many playback units (keyboards, modules, etc ) do support a number of persussion kits. These are usually selected using Bank Select commands, which may well be different for different units. Your manual for the unit you're using should say what codes are required (some combination of Bank Select, MSB and LSB codes) to activate the different kits, and this should be done AFTER GM is selected (as selecting GM may well select the GM default).

Of course, if you use alternate kits, then your midi file will no longer be GM compatible. This may or may not be important.

If you say which playback unit you're using, then further help may be available.

Geoff

 
Posted : 16/01/2018 2:37 pm
NOODLESOUP
Posts: 6
Active Member
Topic starter
 

Thanks for the response Geoff.

Yes I know MIDI is data and not a sound so I obviously haven't explained myself very well. Hard to explain with providing you audio examples. But I have a midi file on my computer, and when I listen to it I hear the default drum sound that we're all familiar with and is presumably has been inbuilt somewhere into Mac OS and Windows for the last 15+ years.

However I have another midi file, and when i listen to it, it is clearly accessing a different drum bank. I have listened to this midi file on multiple computers (both Mac and Windows) and it sounds exactly the same.

So my question is what MIDI message or command do I need to send from my DAW to access the alternate drum banks stored within seemingly every computer. I'm using Logic Pro if that helps but I am only using Logic to make completely GM compliant midi files, so a non-Logic specific answer should hopefully suffice (e.g.: "change the MIDI track to channel 10 to access drum sounds", or "program change 0 is grand piano" is universal advice for all DAWs when making midi files)

Thanks!

 
Posted : 16/01/2018 3:06 pm
NOODLESOUP
Posts: 6
Active Member
Topic starter
 

Ok now it will let me post links. Here is an example of a GM compliant MIDI file using a drum kit sound that I don't know how to access:

https://www.vgmusic.com/music/console/nintendo/gamecube/PMTTYD-XNaut_Base.mid

And here is that classic midi file drum kit "sound" that we've probably all heard a thousand times:

http://www.midiworld.com/download/654

 
Posted : 16/01/2018 3:07 pm
Geoff
Posts: 1039
Noble Member
 

Thanks for the response.

I've tried to access the link you sent, but it wants to do things with my PC I'm not sure about.

I think that it wants to PLAY the midi file, which would not work anyway.

I would need to download the midi file as-is, so that I can look at the midi commands within the file and thereby answer your question. If I can see inside the midi file, I will be able to spot the Bank Select commands and describe them back to you, so that you could use such commands in your own midi file.

I've looked at the vgmusic site directly, and I note that there are three versions of XNaut_base, one (not the one you link to) is indicated as GS. Have you tried that one?

Also, I note that the file is fairly large. There could be some SYSEX data within there, i.e. the file may be loading some sound data over-and-above normal midi, but I'm just guessing here.

You should be able to send me the midi file directly as an attachment. The site may have restrictions as to what extensions it will accept. If it will NOT accept a .mid (it OUGHT to, as it's a midi site) then you might ZIP it to a .ZIP file.

I note that you are in fact reliant on the facilities of Logic Pro for the drum banks, rather than driving any external module, so I'll have to see what I can find out about the availability of sounds within LP, and how they are selected.

Geoff

 
Posted : 16/01/2018 4:23 pm
Geoff
Posts: 1039
Noble Member
 

Hm, wierd! It's a site about MIDI, and you cannot attach a .MID file.

Copyright concerns, maybe?

Anyway, you CAN attach a .ZIP, so if you've got the midi file you refer to, you could ZIP it and attach the .ZIP file.

Geoff

 
Posted : 16/01/2018 4:27 pm
NOODLESOUP
Posts: 6
Active Member
Topic starter
 

Appreciate your assistance Geoff. The midi file is zipped and attached.

If it helps, Logic Pro accesses the midi soundfont via an inbuilt plugin named "DLS Music Device". However this is not the only way a Mac can access it's default midi soundbanks - you can also play midi files in Quick Time Player.

Also, I tired a free Mac midi sequencer named Aria Maestosa this morning. It makes midi files only, whilst accessing the default midi sound bank within the computer. This software has a drop down menu that has the option selecting about 10 different drum kits, on top of the default drum kit I hear most often when I play a midi file on any computer. But of course the software doesn't tell me what midi message or command it is using to access the alternate drum kits.

Thanks

 
Posted : 16/01/2018 5:49 pm
Eddie Lotter
Posts: 295
Reputable Member
 

As long as your MIDI device supports GM2, then you can choose your drum set with a program change message.
However, be sure to send the "GM2 On" SysEx message first.
Details are included in the GM2 specification available on this Web site.

I have attached an example MIDI file to demonstrate this.

Cheers
Eddie

 
Posted : 16/01/2018 8:28 pm
Bavi_H
Posts: 266
Reputable Member
 

In the first MIDI file you posted (PMTTYD-XNaut_Base.mid), the track named "PERCUSSION" contains messages for channel 10 and has a Program Change message with a value of 25 (if your software counts from 1 to 128) or 24 (if your software counts from 0 to 127). This corresponds to the General MIDI Level 2 "Electronic" percussion sound set.

In the second MIDI file you posted (Michael_Jackson_-_Black_or_White.mid), the track named "Drums" contains messages for channel 10 and has a Program Change message with a value of 1 (if your software counts from 1 to 128) or 0 (if your software counts from 0 to 127). This corresponds to the General MIDI Level 2 "Standard" percussion sound set.

To see the entire list of percussion sound sets that are part of General MIDI Level 2 and their corresponding Program Change numbers, you can look at the specification document: Go to the General MIDI 2 specifications page, and look for the link "Download the GM Level 2 Specification" at the end. You have to log in with your midi.org username to download it. The list of Percussion sound sets is in Appendix B, starting on PDF page 36 (printed page 32). In that PDF file, the program change numbers (PC#) are in values from 1 to 128. If your software uses values from 0 to 127, subtract 1 from the values you see in the PDF file.

 
Posted : 16/01/2018 8:32 pm
NOODLESOUP
Posts: 6
Active Member
Topic starter
 

Thank you everyone for your assistance.

 
Posted : 16/01/2018 10:53 pm
Geoff
Posts: 1039
Noble Member
 

Hello,

Good to hear you've sorted things.

Just in case you're interested, I attach a .ZIP of the file xnaut.txt - this file is the resuly to Kevin Weiner's DECODE program, which converts a .MID file into an annotated .TXT file showing all the details/mechanics of the midi data. You may find this interesting.

Yes, as indicated by Bavi_H, if you look at line 128 of the file you will see the Program Change command for Channel 10 (Percussion) where the midi data C9 18 (hex) gives the program change command followed by the data (18 hex = 24 decimal as noted by Bavi).

If this is how GM2 does it, this this is simpler than the way required by, say, some of my devices under GM or XG. Helpful.

You will note that there is a fair bit of 'Sequencer specific' data at the beginning of the file. Some of this may be just displaying messages. Not too much point investigating it further without the right device to respond to the commands!

Geoff

 
Posted : 17/01/2018 12:00 pm
Share: