Pages: [1]   Go Down
  Print  
Author Topic: CM-500: sysex files for switching between the two sound sources  (Read 1192 times)
0 Members and 2 Guests are viewing this topic.
reines
Member
*
Offline Offline

Posts: 32


View Profile
« on: August 18, 2010, 02:58:46 PM »

Hello,

I have a CM-500 device, which I would like to use at times for MT-32 data and at other times for GM data, while being able to switch between the two modes via a command executed through DosBox.

I am aware that in Mode A of a CM-500, in order to use only one of the GS/LA sound sources, I have to send sysex messages to turn off one of the sound sources, and turn on the other.

However, I am unable to find these sysex files anywhere. I have found an older post (http://queststudios.com/smf/index.php/topic,1554.msg15229.html#msg15229) on this board where NewRisingSun has posted such files, but the download links for these files are not available anymore on that post.

Does anyone have these files available? They could be of great help to me.

Thanks,
Reines
« Last Edit: August 25, 2010, 08:23:49 PM by reines » Logged
endre1952
Senior Member
*
Offline Offline

Posts: 368


View Profile
« Reply #1 on: August 18, 2010, 03:36:12 PM »

I've made my own such files for the CM-500:

http://www.tar.hu/endre1952/gs.syx
http://www.tar.hu/endre1952/mt.syx

These sysex files also reset either the GS or the LA part before switching modes.
Logged
reines
Member
*
Offline Offline

Posts: 32


View Profile
« Reply #2 on: August 18, 2010, 03:51:21 PM »

Thanks a bunch, much appreciated.
Logged
reines
Member
*
Offline Offline

Posts: 32


View Profile
« Reply #3 on: August 22, 2010, 10:59:49 AM »

Hi again endre1952,

Any chance you could add that CM-500 sysex you were talking about in the forums for setting volume to a moderate level to avoid clipping?

Greetings,
Reines
« Last Edit: August 25, 2010, 08:02:35 PM by reines » Logged
endre1952
Senior Member
*
Offline Offline

Posts: 368


View Profile
« Reply #4 on: August 22, 2010, 11:10:31 AM »

Here you go:

http://www.tar.hu/endre1952/moderate.syx

This is only for the MT-32 part.
Logged
reines
Member
*
Offline Offline

Posts: 32


View Profile
« Reply #5 on: August 22, 2010, 05:56:35 PM »

Hi again,

Thanks!

However, just today I tried testing them, and there is one small problem - the website you upload them to seems to be adding some html header to the syx files, making them unusable (you can see that if you try downloading any of the 3 files you posted).

Would it be possible to make a zip of the 3 files and upload again?

Greetings,
Reines
Logged
endre1952
Senior Member
*
Offline Offline

Posts: 368


View Profile
« Reply #6 on: August 22, 2010, 06:08:55 PM »

I hope the ZIP download works...

http://www.tar.hu/endre1952/cm500_sysex.zip

The .mid files do exactly the same thing.

Some of the folks here would be amused to learn how I came up with these SYX files, but they seem to work for me, also with a daisy-chained CM32L - CM300/SC-55 combination.
« Last Edit: August 22, 2010, 06:14:35 PM by endre1952 » Logged
reines
Member
*
Offline Offline

Posts: 32


View Profile
« Reply #7 on: August 22, 2010, 06:11:28 PM »

Yes, the zip download worked Smiley

Thanks again for everything!
Logged
reines
Member
*
Offline Offline

Posts: 32


View Profile
« Reply #8 on: August 25, 2010, 08:12:23 PM »

I'm trying to improve the speed that it takes to transfer the forementioned commands to the device.

After reading the CM-500 manual, and some more information from the forum, I think that for turning LA parts on/off we could use a single command:

LA parts off: F0 41 10 16 12 10 00 0D 10 10 10 10 10 10 10 10 10 53 F7
LA parts on: F0 41 10 16 12 10 00 0D 01 02 03 04 05 06 07 08 09 36 F7

Perhaps someone with more experience that me in sysexing could confirm the commands above are OK.

In addition, I would like to ask if a similar shortcutting could be done for the GS device (the shortcutting syntax was specifically stated in the CM500 manual only in the LA section).

According to my understanding, IF it can be done for GS, the commands below could possibly work:

GS parts off: F0 41 10 42 12 40 10 02 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2E F7
GS parts on: F0 41 10 42 12 40 10 02 09 00 01 02 03 04 05 06 07 08 0A 0B 0C 0D 0E 0F 36 F7

Or such shortcutting is not possible for GS devices?
« Last Edit: August 25, 2010, 08:25:09 PM by reines » Logged
endre1952
Senior Member
*
Offline Offline

Posts: 368


View Profile
« Reply #9 on: August 26, 2010, 05:25:52 PM »

I'm not the one to help you out, I just captured sysex activity from games and files available on the Web. True, my files perform a reset each time they are executed, and not only mute one part, they also set the volume of the other part to maximum.

I was trying to come up with a universal solution, so that a power off/power on procedure would be rarely required.
Logged
reines
Member
*
Offline Offline

Posts: 32


View Profile
« Reply #10 on: August 30, 2010, 10:18:07 PM »

I understand, endre1952. Once some sysex guru hopefully clarifies the shortcutting issue, I will try to come up with a more efficient solution and of course post the files here for you to test, if you'd like.

It's just that I don't find it properly documented anywhere, or if at all it's possible for GS.
« Last Edit: August 30, 2010, 10:26:21 PM by reines » Logged
endre1952
Senior Member
*
Offline Offline

Posts: 368


View Profile
« Reply #11 on: August 31, 2010, 04:30:47 PM »

My solution is good enough for me, but if you figure out something better, sure, I'm interested. I made use of the partsoff.mid/partson.mid files found somewhere here (I think). They turn off/on the GS part, but don't perform a reset.
Logged
Cloudschatze
By Invitation Only
Senior Member
*
Offline Offline

Posts: 1,830



View Profile
« Reply #12 on: September 01, 2010, 12:33:16 AM »

You should be able to get by with something as minimal as the following:

GS Mode:

F0 41 10 16 12 7F 00 00 00 01 F7                           : LA Reset
F0 41 10 42 12 40 00 7F 00 41 F7                           : GS Reset
F0 41 10 16 12 10 00 0D 10 10 10 10 10 10 10 10 10 53 F7   : LA RX.CHANNEL (ALL OFF)


LA Mode:

F0 41 10 16 12 7F 00 00 00 01 F7                           : LA Reset
F0 41 10 42 12 40 00 7F 00 41 F7                           : GS Reset
F0 41 10 42 12 40 10 02 10 1E F7                           : GS RX.CHANNEL (ALL OFF)
F0 41 10 42 12 40 11 02 10 1D F7                           :
F0 41 10 42 12 40 12 02 10 1C F7                           :
F0 41 10 42 12 40 13 02 10 1B F7                           :
F0 41 10 42 12 40 14 02 10 1A F7                           :
F0 41 10 42 12 40 15 02 10 19 F7                           :
F0 41 10 42 12 40 16 02 10 18 F7                           :
F0 41 10 42 12 40 17 02 10 17 F7                           :
F0 41 10 42 12 40 18 02 10 16 F7                           :
F0 41 10 42 12 40 19 02 10 15 F7                           :
F0 41 10 42 12 40 1A 02 10 14 F7                           :
F0 41 10 42 12 40 1B 02 10 13 F7                           :
F0 41 10 42 12 40 1C 02 10 12 F7                           :
F0 41 10 42 12 40 1D 02 10 11 F7                           :
F0 41 10 42 12 40 1E 02 10 10 F7                           :
F0 41 10 42 12 40 1F 02 10 0F F7                           :
« Last Edit: September 01, 2010, 01:00:41 PM by Cloudschatze » Logged
reines
Member
*
Offline Offline

Posts: 32


View Profile
« Reply #13 on: September 01, 2010, 05:50:34 AM »

Hi,

Thank you for your answer.

So, just to be sure, you are saying that the GS won't allow combining multiple commands into one, similar to the LA?

I mean something like this:

LA Mode:

F0 41 10 16 12 7F 00 00 00 01 F7                                                                               : LA Reset
F0 41 10 42 12 40 00 7F 00 41 F7                                                                               : GS Reset
F0 41 10 42 12 40 10 02 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2E F7           : GS RX.CHANNEL (ALL OFF)
Logged
Cloudschatze
By Invitation Only
Senior Member
*
Offline Offline

Posts: 1,830



View Profile
« Reply #14 on: September 01, 2010, 01:23:06 PM »

So, just to be sure, you are saying that the GS won't allow combining multiple commands into one, similar to the LA?

Not at all, but the addresses are structured differently, so a combination of the GS strings (40 10 00 - 40 1F 00) is a significantly larger amount of data than just the individual strings.

Quote
F0 41 10 42 12 40 10 02 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2E F7           : GS RX.CHANNEL (ALL OFF)

This isn't going to have the intended effect. Smiley
Logged
reines
Member
*
Offline Offline

Posts: 32


View Profile
« Reply #15 on: September 01, 2010, 02:37:43 PM »

I see - then for this use I'll stick with the commands you posted before Smiley

However, as I'm trying to get a better understanding of sysex commands - if you don't mind - could you elaborate how would it be correct to combine suppose just two RX.CHANNEL off commands for the GS?

Also - is there perhaps a better manual you are aware of, for a proper understanding of sysexing? The CM500 manual definitely did not accomplish that as it seems...

Thanks again,
Reines
« Last Edit: September 01, 2010, 02:49:48 PM by reines » Logged
Cloudschatze
By Invitation Only
Senior Member
*
Offline Offline

Posts: 1,830



View Profile
« Reply #16 on: September 01, 2010, 04:10:04 PM »

For the LA sound source, the Part RX.Channel parameter addresses are consecutive, being one byte apart (consisting of one data byte each). So, given the starting address of 10 00 0D:

                 Add.              Data
                ------   ------------------------
               |      | |                        |

F0 41 10 16 12 10 00 0D-10 10 10 10 10 10 10 10 10 53 F7
               10 00 0E-----|  |  |  |  |  |  |  |
               10 00 0F--------|  |  |  |  |  |  |
               10 00 10-----------|  |  |  |  |  |
               10 00 11--------------|  |  |  |  |
               10 00 12-----------------|  |  |  |
               10 00 13--------------------|  |  |
               10 00 14-----------------------|  |
               10 00 15--------------------------|


In contrast, the GS RX.Channel addresses are not consecutive, and are 55 data bytes apart (assuming I counted correctly Smiley ). So, a single string to turn off MIDI reception for just parts ten and one might look something like this (where xx represents a valid data byte for the parameters in-between):

F0 41 10 42 12 40 10 02 10 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 10 CS F7



Here are two supplemental note publications for the SoundCanvas that may help with understanding SysEx:

http://www.synthman.com/cgibin/p.cgi/roland/support/supnotes/SCMIDID2.PDF
http://www.synthman.com/cgibin/p.cgi/roland/support/supnotes/GSCOMM.PDF
« Last Edit: September 01, 2010, 04:30:16 PM by Cloudschatze » Logged
reines
Member
*
Offline Offline

Posts: 32


View Profile
« Reply #17 on: September 01, 2010, 04:31:30 PM »

Thanks Cloudschatze, that's just what I was missing! Now everything's clear Smiley

By the way - any chance you have similar help files for the LA?
« Last Edit: September 01, 2010, 04:33:19 PM by reines » Logged
Pages: [1]   Go Up
  Print  
 
Jump to: