While being at programming the SAM2795 I see on page 31 of the manual "MT-32 sound variation #127".
Send CTRL-0, then PC
0 - controller 0 value ( zero for General MIDI capital sounds)
I wonder if the sounds in this bank are different and worth exploring, or if it is just another mapping.
So I would like to give it a try.
I'd then send:
[code type=markup]
7f C0 41
[/code]
for 65 Acoustic Bass
(EDIT: corrected term "page" into "bank")
For Roland's list of these MT-32 instruments, see p. 186 of the SC-8850 manual. (The SAM probably does this for SoundCanvas compatibility.)
The MT-32 used linear arithmetic synthesis, and modifying these sounds was very common for software/MIDI files written for it, so the instruments in this bank alone are not always useful to reproduce the original sounds.
This bank is not widely used (it's not part of the GS standard), so I doubt that these are separate PCM samples.
Another finding: I chose 4 parts (with a bass "property") of the MT-32 bank. But none of them obeys variations in the decay or attack parameters
while the correponding parts of the MAIN SOUNDS - GENERAL MIDI BANK do so.
[code type=markup] { 65,"Acoustic Bs."},
{ 66,"Fingered Bs."},
{ 31,"Synth Bass 3"},
{ 71,"Fretless Bs."},
[/code]
Hello,
I do not have an MT-32, but I do have, and use, a Roland LAPC-I card which is supposed to be a totally compatible version of the MT-32 but mounted on a PC (8 bit) card.
Nothing you're asking about relates to what I have in any way. This is nothing GM compatible (unless you load an external bank of extra sounds to provide GM compatibility), nor are there any extra banks to be selected vie Bank Select, so Bank Select is not known to the system.
I suspect that you are using an MT-32 emulation within some other system, which will therefore be TOTALLY bound by the facilities of the other system, and will not necessarily have much to do with a real MT-32.
Apart from a set of sounds to complete a GM set, all sorts of extra sounds can be loaded from RAM data (I have numerous files comprising many extra sounds). Many of the games that used the MT-32 used SysEx to load extra data to modify existing sounds, these REPLACE the usual sounds and are selected in the normal way using PC alone. Your device could well do it differently?
Geoff
[quotePost id=18255]I would like to give it a try. I'd then send: 7f C0 41 for 65 Acoustic Bass[/quotePost]
By the way, to try it out, you need to send Control Change Controller 0 with value 127, then send Program Change with the value of the PC# minus 1.
B0 00 7F (Control Change Channel 1, Controller 0, Value 127)
C0 40 (Program Change Channel 1, Program 65)
When reading manuals and documents, be sure to notice which range the Program Change numbers are using, either 1 to 128 or 0 to 127...
• In this manual (and in MIDI standards documents), the Program Change numbers are from 1 to 128, and the corresponding byte values that you send are from decimal 0 to 127 (hex 00 to 7F) respectively.
• Some manuals or documents may use Program Change numbers from 0 to 127. In that case, you just send the same byte value in the Program Change message.
OK - I have info regarding the MT-32 system, but no idea how this relates to your device (SAM2795 ?).
The MT has 3 'banks, which are the two default (ROM) banks each with 64 sounds, and a third 'User' bank which is in RAM. Normally this starts empty. The two std banks provide sounds 1-64 and 65-128. Many sounds are repeated, with different versions using different qualities of sound as the limits of the system are based on 'partials' and if you use sounds of lower quality then you can use more sounds.
The User Bank can be loaded with an extra set of 64 sounds, from files held on disk or downloaded. So for example if you want GM compatibility then you load the GM set into RAM, alongs with a new Timbres list which links some sounds from the main banks and some sounds from the User bank to set-up a new list of sounds 1 to 128 that is GM compatible.
The new data can be imported using SysEx.
The Sierra games did a LOT of this, including a lot of specialised sound effects as well to make the games more colourful!
If your SAM device allows the loading of the extra sounds, then I have a number of extra blocks, comprising nearly 1,500 extra sounds. Many of these however may be duplicated, or very little different from existing sounds?
If you want to explore the facilities of the SAM, you need to start by working out the expent of the MT emulation. For example, if the sounds can be loaded as per those for the MT, or are they fully emulated from data stored in the SAM and quite unlike the MT base data?
Geoff
Thanks. I mistyped: SAM2695 it is. @Bavi_H Thanks for correcting me about the control sequence. I have get used to it gradually.
And success: after sending the correct control sequence the MT-32 voices also obey the decay and attack parameters.
Although I must say in general, that the e.g. decay behaviour is very sensitive against small changes in the value.
Though I still don't get from where I can tell whether I have to subtract 1 from the voice # or not.
Some software uses the range 0...127, some uses 1...128 (and this might be different for different parameters). You have to check what range your software expects. You have to add or subtract 1 when converting from one range to the other.
Got it working by sending the correct sequence, e.g.
B0 00 7F C0 26
as @Bavi_H suggested. Do I have to send this sequence for every PC I want to be performed? When switching back to the standard GM bank, do I have to send another control code first? It seem that when I send C0 pp sequences that they are taken from the MT-32 bank instead.
EDIT: I believe I got it right now. Generally I preceed every program change by bank select. Everytime I send either
[code type=markup]
B0 00 00 C0 pp for GM bank resp.
B0 00 7F C0 pp for MT-32 bank
[/code]
The bank number is a setting of the channel, so in theory, you do not need to repeat it for other Cx commands on the same channel x. But in practice, it's common to send the bank message(s) before every PC message.