fbpx
  Monday, 26 July 2021
  4 Replies
  1.5K Visits
0
Votes
Undo
  Subscribe
The chorus type change work, but i can't get the reverb type to change.
https://jtmidi.000webhostapp.com/
//REVERB TYPES
function sel_effone(){
var e = document.getElementById("SCeffect1");
eff1 = e.options[e.selectedIndex].text;
if(eff1=="Room 1"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x30,0x0F,0x07,0xF7];
} else if(eff1=="Room 2"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x30,0x1E,0x06,0xF7];
} else if(eff1=="Room 3"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x30,0x2D,0x05,0xF7];
} else if(eff1=="Hall 1"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x30,0x3C,0x04,0xF7];
} else if(eff1=="Hall 2"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x30,0x4B,0x03,0xF7];
} else if(eff1=="Plate"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x30,0x5A,0x02,0xF7];
} else if(eff1=="Delay"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x30,0x69,0x01,0xF7];
} else if(eff1=="Panning Delay(FB)"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x30,0x78,0x00,0xF7];
}
parent.outportarr[parent.outportindex].send(settingChange);
}

//CHORUS TYPES
//FLANGER F0 41 10 42 12 40 01 38 04 03 F7
function sel_efftwo(){
var e = document.getElementById("SCeffect2");
eff2 = e.options[e.selectedIndex].text;
if(eff2=="Chorus 1"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x38,0x00,0x07,0xF7];
} else if(eff2=="Chorus 2"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x38,0x01,0x06,0xF7];
} else if(eff2=="Chorus 3"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x38,0x02,0x05,0xF7];
} else if(eff2=="Chorus 4"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x38,0x03,0x04,0xF7];
} else if(eff2=="Feddback Chorus"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x38,0x04,0x03,0xF7];
} else if(eff2=="Flanger"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x38,0x05,0x02,0xF7];
} else if(eff2=="Short Delay"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x38,0x06,0x01,0xF7];
} else if(eff2=="Short Delay(FB)"){
settingChange=[0xF0,0x41,0x10,0x42,0x12,0x40,0x01,0x38,0x07,0x00,0xF7];
}
parent.outportarr[parent.outportindex].send(settingChange);
}
4 months ago
·
#9865
0
Votes
Undo
A note: use the "code" wrapper in the editor when you paste in some code so it keeps its formatting and is easier to read. It's the button that looks like "</>" next to the quote button.


//REVERB TYPES
function sel_effone()
{
var e = document.getElementById("SCeffect1");
eff1 = e.options[e.selectedIndex].text;
if (eff1 == "Room 1")
{
settingChange =[0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x0F, 0x07, 0xF7];
}
else if (eff1 == "Room 2")
{
settingChange =[0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x1E, 0x06, 0xF7];
}
else if (eff1 == "Room 3")
{
settingChange =[0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x2D, 0x05, 0xF7];
}
else if (eff1 == "Hall 1")
{
settingChange =[0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x3C, 0x04, 0xF7];
}
else if (eff1 == "Hall 2")
{
settingChange =[0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x4B, 0x03, 0xF7];
}
else if (eff1 == "Plate")
{
settingChange =[0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x5A, 0x02, 0xF7];
}
else if (eff1 == "Delay")
{
settingChange =[0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x69, 0x01, 0xF7];
}
else if (eff1 == "Panning Delay(FB)")
{
settingChange =[0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x78, 0x00, 0xF7];
}
parent.outportarr[parent.outportindex].send(settingChange);
}


One thing I noticed is that you have spaces in the names that you are checking for. The actual device (at least from what I can see in the manual) does not have spaces in any of the reverb names. So "ROOM1" instead of "ROOM 1". That could be an issue unless the names are taken from your own internal database.

I also see in the manual that there is an "effect send level" on CC 91 (Effect 1 (reverb send level)) that you might have to also change. The default is 40.

And finally, the last thing I see is that your next to last value you are sending (checksum) may be incorrect.
Roland checksums are 0x80 - [(bytes 6+7+8+9) MOD 0x80]
You need to add 0x40 + 0x01 + 0x30 = 0x71.
Then add your data value. For "Room1" you have 0x0F.
0x71 + 0x0F = 0x80
Now do that result MOD 0x80
0x80 % 0x80 = 0x00
Subtract from 0x80 to get your checksum
0x80 - 0x00 = 0x80
(If checksum = 0x80, then checksum = 0x00)
So your SYSEX for Room1 should be
[0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x0F, 0x00, 0xF7]

* NOTE: I've just dug through the SC-88 manual and a few websites to find this info, I do not own any Roland hardware, so anyone else can correct me if I'm wrong.
4 months ago
·
#9866
0
Votes
Undo
Well the name is just a value from a dropdown list i created, and on mouse event"fetched" to select effect.
The effect level work for the room reverb, so it is definitly something wrong with the message construction to change effect, could be the checksum as you say.

But i basicly took the messages that another editor "88 edit" that echo its messages used, and it work for the chorus but not reverb "but i have a RA-95.not a SC-88....
But i also see it have something it calls reverb character, could it be a multi message you must send both to get change.

I fear i have to dwelve into the checksums i tried to avoid it.

Thanks for interest!

JT
4 months ago
·
#9869
0
Votes
Undo
See page 9 of the manual for the RA-95 MIDI Implementation
http://cdn.roland.com/assets/media/pdf/RA-95_MI.pdf


RA-95 Reverb.jpg


Valid "data" bytes for the RA-95 for "reverb" type selection [40 01 30] are 00 - 07. You currently have from 0F - 78 for data values, so those won't work for this device.
The separate "reverb level" [40 01 33] and "reverb time" [04 01 34] CAN take from values from 00 - FF.
4 months ago
·
#9870
0
Votes
Undo
I checked the manual for the SC-88 (original version) and I don't think those reverb values would work on there either? Its manual has the same information for reverb 40 01 30, 0-7 for the data values. It also contains some extra reverb parameters that the RA-95 does not.

See page 7-27 (Appendix)
http://cdn.roland.com/assets/media/pdf/SC-88_OM.pdf
  • Page :
  • 1
There are no replies made for this post yet.
Be one of the first to reply to this post!