I am looking for channel mute messages for my Roland Sound Canvas 7, but midi lingo in specs seem not to use the phrase channel mute.
So i am not clear for what to look for, i suspect it is rather a sysex message using the device ID, then some CC variant.
No, no channel mute as such but just turn CC#7 down to zero.
Hello John thanks for your answer, setting the volume to zero does it still take up the voice "effect the multitimbrality?".
Why not discard any note at midi channel "filter"? It does not seem more computing intensive?
Hmm! Interesting question.
I can't give a definitive answer, but ...
If we're just talking about a MIDI file player without a track/channel mute control, then I suppose, as the Note On mesages will still be arriving at the sound module, one would expect them to be played, just at zero volume. So, I suppose they would take up timbrality.
If I don't want a channel played at all on a MIDI file I just make a copy with the appropriate data deleted completely.
Very easily done in seconds with most sequencing software.
The routing of channels to parts is defined with the RX. CHANNEL patch parameters; see p. 36 of the manual. To prevent any messages on a channel from being received, set the corresponding part to OFF.
Clemens Thanks i will try to do that.
Hello Clemens this morning i tried to decipher what message for channel/part on and off. I must say when the example messages is not stated in cleartext i find midi manuals nearly incomprehensible. I just can't figure out howto compose the mute message from the data listed.
I did however understood how to reserve voices for the parts.
settingChange = [0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x11,0x00,0xF7];
outportarr[outportindex].send(settingChange);
Will set channel/part 1 voice reserve to zero voices.
[quotePost id=9168]I just can't figure out howto compose the mute message from the data listed.[/quotePost]
It's really quite easy. Have a look at my tutorial on Roland SysEx messages to help you figure it out.
To turn off receiving MIDI messages for part 1, use the following message:
[code type=markup]F0 41 10 56 12 01 01 00 10 6E F7[/code]
Will try that Eddie but i have a feeling that the Roland messages are not generic, because i found this howto turn of parts on SC-55 and others.
Did not work for my SC-7.
Any of the 16 parts can be turned off using the part numbering given in Figure 3 (page 5).
Fig. 3. The SoundCanvas listens on all 16 MIDI channels. Use the sys-ex messages in this chart to turn off individual parts.
Part 1: F0 41 10 42 12 40 11 02 10 1D F7
Part 2: F0 41 10 42 12 40 12 02 10 1C F7
Part 3: F0 41 10 42 12 40 13 02 10 1B F7
Part 4: F0 41 10 42 12 40 14 02 10 1A F7
Part 5: F0 41 10 42 12 40 15 02 10 19 F7
Part 6: F0 41 10 42 12 40 16 02 10 18 F7
Part 7: F0 41 10 42 12 40 17 02 10 17 F7
Part 8: F0 41 10 42 12 40 18 02 10 16 F7
Part 9: F0 41 10 42 12 40 19 02 10 15 F7
Part 10: F0 41 10 42 12 40 10 02 10 1E F7
Part 11: F0 41 10 42 12 40 1A 02 10 14 F7
Part 12: F0 41 10 42 12 40 1B 02 10 13 F7
Part 13: F0 41 10 42 12 40 1C 02 10 12 F7
Part 14: F0 41 10 42 12 40 1D 02 10 11 F7
Part 15: F0 41 10 42 12 40 1E 02 10 10 F7
Part 16: F0 41 10 42 12 40 1F 02 10 0F F7
https://www.sweetwater.com/sweetcare/articles/depth-midi-functions-of-roland-sound-canvas/
If you want i could make a small side script to sequenser where our can handwrite midimessages as a hex stream and send by button push,
Don't know how useful with would be though?
Thanks, Eddie now i just got to figure out what hex to change for the parts, "and hope i can get it on again LoL"
Eddie says it is easy to calculate the byte/bytes from adress and message, i need a script for that kind of arithmetic....
What does worry me is that i can't see how the value one get is unique, it is more like a hash value.
You can't really turn the process to figure out the adress.
[quotePost id=9184]What does worry me is that i can't see how the value one get is unique[/quotePost]
It isn't supposed to be unique. It's a checksum. Two different messages with the same bytes but in a different order will have the same checksum. That's okay.
There are two examples on page 37 of the SC-7 owner's manual. Create your script using those examples to verify that your script calculates the correct checksum value. You can either use the method described in the owner's manual or the method described in my tutorial, whichever you find easier to implement in a script.
[sc88sysex]( https://github.com/pedrolcl/sc88sysex) is a Roland SC-88 System Exclusive Librarian, written as a Bash script for Linux. It creates and sends Roland RQ1 and DT1 sysex messages on the fly, calculating the checksum.The SC88 is different to the SC7, and probably you don't use Linux, but maybe it helps you.