I have a XG MIDI file type 1.
On track #1 named "Tech Kit" it asks for MSB 0, LSB 0, PATCH 25.
So it asks for steel string guitar on a drum channel, or what is happening?
Since its a XG file and not a GS file, 10th channel should be reserved for drums only, right?
How do I interpret this?
What's the problem?
Drums on Ch 10 is a convention, not a rule or a requirement. I assume that the midi file works OK?
If you want to change things around, then do so, but there's no NEED to do so.
However, if the track is called 'Tech Kit' that sounds like drums are intended. If it's merely intended to be string guitar then there would be no need for the MSB and LSB data. Maybe someone has messed with the original file, and done so incompletely.
Try to find a better/original version of the midi file?
Geoff
Wait a minute does it not mean there is different drumsets, it simply want to load the drumset that is patch 25?
Did you check if its drums recorded on the track?
Can you upload the file so we can look at it? You'll have to zip it as .mid files can not be attached in the forum.
It could be a messed up file, or it could have things that have been set up with SYSEX commands. I have an XG file I looked at this morning (while trying to find a GM2 drum sample for you) that every track shows MSB 0 LSB 0 yet the track plays all the XG instruments and enhancements as expected.
Looking in the MIDI spec for my MU90r, which is fully XG, the details for all the banks is labelled in such a way that Bank 0 is in effect the base GM instrument set. The indication is that MSB and LSB default to 0 for Bank Select if they're not explicitly set. So, if Bank Select is not set, then the PC number alone is perfectly valid to select a GM patch as MSB = 0 and LSB = 0 is assumed anyway. In this situation, I would just NOT use any Bank Select data, as it is not necessary. Using MSB = 0 and LSB = 0 is not 'wrong', it just sets something explicitly which is set implicitly anyway. This MIGHT cause confusion?
As an aside, I've looked at all the XG drum kits and there is no 'Tech Kit'. Patch 25 is 'Electro Kit'. Only 2 of the sounds are different from the standard kit.
Yes, it would be interesting to see this midi file. Or even know the original name of the file, so one could trace it's origins
Geoff
As an aside, I've looked at all the XG drum kits and there is no 'Tech Kit'. Patch 25 is 'Electro Kit'. Only 2 of the sounds are different from the standard kit.
My guess is it is short for Techno Kit. The Yamaha MU1000/2000 instrument file I have lists three techno kits on 16, 17, and 18.
The Roland SC-8850 also has a Techno kit, on 11.
[quotePost id=11848]Patch 25 is 'Electro Kit'.
Yes, it would be interesting to see this midi file.[/quotePost]
Yes, but that patch 25 is on bank 128 MSB. Not on bank 0.
When I wrote bank 0,0 I meant default bank, as there is no bank changes on 10# channel.
The MIDI is attached, its the one starting with XG_2
Sorry, I meant 127, counting from 0. Patch 25 is counting from 0 too.
I have been thinking. Maybe, just maybe, since the file is XG and its drum channel, Yamaha synths automatically assume any patch changes on that channel is per default on the 128th MSB bank? That would make it a change to Analog Drum Kit, not Steel String Guitar.
But I would like to know for sure, not just guess.
Thanks for the file.
I note the file you're checking is BAMBOOZE.MID, your file size is 119,779 and the datestamp is 4/5/21.
I've got a large zip of Yamaha midi files, and the file (same name) is in there re XG. This file is the same size, 119,779 and the datestamp is 29/4/1997.
I've used the DOS FC command on the two files, which does a byte-by-byte compare, and the two files are identical. So the file you have seems to be unchanged from the original Yamaha collection. So someone has NOT messed about with it, or at least, not since 1997!
Regarding your new message, I VERY MUCH doubt that ANY assumptions would (or even could) be made regarding the Channel 10. I repeat what's been said before, this channel could be anything, not necessarity drums. For example, a midi file for a piece of classical music could well need every channel available and there may be no percussion of that type.
I've not looked in the midi files yet, I'll check into that soon.
Geoff
Looking at the original midi file (which seems to be the same as the one you were using) I see that Track #1 is the track with the Time Stamp setting in, and no other data. The first actual track is Track 2, and this is assigned to Channel 10 (hex 09). In this track, and for Channel 10, I do not see any previous use of Bank Select data, but I do see the Program Change command to set Patch 25 (hex) as you describe.
I do see Bank select data on other tracks/channels, incl an item where the Bank Select data is 0, 0 (i.e. in effect redundant), but this is not Ch 10.
Yes, there is a LOT of controller data, somewhat mixed up, using a number of tracks and channels, so it's difficult to keep things clear, however I do not see the instance you refer to.
Geoff
Further to your note in message 11873 above, I suspect that you're saying that there was in fact never anything wrong or unusual with the midi data in this file, and the Bank Select data you were referring to was not in fact there, you were treating it as implied.
I would suggest that the correct way of looking at it is that the normal method to select a 'program' is to make a Program Change instruction alone, however, if the required program is in a Bank other than the default bank then and only then you need to make a Bank Select and then make the PC (Program Change) command. Regardless of being in GM, GS or XG the usual default bank will be the GM bank. Some devices may have special modes where they may have a different default bank - my Korg NS5r can be set into Korg 05r or w mode, my Yamaha can be set into TG300 or C/M (in the latter it emulates the Roland MT32 and related devices) modes. These have to be selected via buttons on the front panel, I don't think they can be done within a playing midi file.
I have a Roland LAPC-I card, this card is a Roland MT32 (or CL32) tone unit on a card. This system supports 8 channels only, Ch 2 thru 9, and Ch 10 here is EXPLICITLY drums/percussion. These devices are not GM, although you can load user sounds to make them temporarily pretty much GM compatible. But Ch 10 is drums ONLY, and drums cannot be used on any other channel. There may be some other devices that have similar limitations. But fairly old devices? All more modern devices, that will support 16 (or more) channels, will have channels that can set to any program via PC command, and a Program can be either a specific instrument, or a percussion set, on any available channel.
Geoff
Ahh, so, yes, I already have that file 😉
Playing it in MIDI Player (which is built on the Yamaha SYXG50 VSTi plugin), channel 10 shows as 25 Analog Kit, and channel 11 shows as 16 Rock Kit. Both channels are showing MSB 127, LSB 0.
A screen shot from my instrument changer of the file, so you can see an overview.
The side is a mess because of my debugging info, but channel 10 is in fact named "Tech Kit", that appears to be the name they decided to give the channel in this song.
You can also see channel 16 uses the XG SFX bank 64.
[quotePost id=11895]channel 10 shows as 25 Analog Kit, and channel 11 shows as 16 Rock Kit. Both channels are showing MSB 127, LSB 0. channel 16 uses the XG SFX bank 64[/quotePost]
Then it is as I suspected, bank 127 is implicit on XG drum channels.
Perfect, thank you very much!