GR-55 - Complete MIDI Implementation

Started by rockhound, March 04, 2011, 08:40:15 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

rockhound

I know that after looking over the questions in some of the forums, that there are still a lot of us who are trying to learn the Midi aspect of these products. It would be nice to have a section of its own just on Midi, whether its Software, Hardware, CCs, PCs, connections or what ever.
My setup is that I have the FC300 connected to the VG99 using the RRC2 and then from the VG99 midi out to the GR-55 midi in and from the GR-55 midi out to my Pro Tools 003 midi in to control a software plug-in. I also use the Roland US 20 unit selector.
My question is how do I step by step get my VG to  change patches on the Gr-55 and also maybe turn on/off a certain function (delay,mfx,etc.) as well as changing a patch or function on my software unit. I'm also a little confused about the page on the Gr-55 (MIDI/USB) RX PC MAP. Can someone explain what's this for and how to use it.
Thanks for any help!

Brent Flash

#1
We have a couple of MIDI forums that may have some info you can use. You can find them here.
https://www.vguitarforums.com/smf/index.php?board=50.0
https://www.vguitarforums.com/smf/index.php?board=51.0
You may want to consider using the FC-300 MIDI out since it is on the floor with your GR and it leaves your VG's MIDI out available for it's GUITAR TO MIDI features.
The FC-300 has default CC# as follows.

EXP PEDAL 1, CC#7, Range 0–127
EXP PEDAL 2, CC#1, Range 0–127
CTL PEDAL 1, CC#80, Range 0–127, MODE-LATCH
CTL PEDAL 2, CC#81, Range 0–127, MODE-LATCH
EXP PEDAL SW 1, CC#82, Range 0–127, MODE-LATCH
EXP PEDAL SW 2, CC#83, Range 0–127, MODE-LATCH
CTL3, CC#76, Range 0–127, MODE-LATCH
CTL4, CC#75, Range 0–127, MODE-LATCH
CTL5, CC#10, Range 0–127, MODE-LATCH
CTL6, CC#91, Range 0–127, MODE-LATCH
CTL7, CC#11, Range 0–127, MODE-LATCH
CTL8, CC#64, Range 0–127, MODE-LATCH
EXP PEDAL 3, CC#76, Range 0–127
EXP PEDAL 4, CC#10, Range 0–127
EXP PEDAL 5, CC#11, Range 0–127

It should switch your programs just like it does on the VG but if it does not you may need to look into what MIDI Channel you have the GR set to and if there is a way to ignore PC.
Let us know if you get anything working and if you have more questions.

Brent Flash

#2
You will need to turn on "PC RX SWITCH" for the GR to receive program change. Not sure if it defaults on or off.

Another thing to consider is that the MIDI OUT of devices does not retransmit MIDI events received at the MIDI IN. If the device has a MIDI THROUGH, then the MIDI events received at the MIDI IN are passed through but any MIDI events originating in this device are not sent to the THROUGH but are sent out the MIDI OUT. So what this all boils down to is that the FC/VG MIDI sent into the GR would stop there and not go past the GR.

If you use the VG to control your soft synths this may be a better match. Just depends on how and what you want sent to them.

rockhound

Thanks Brent. Hate to sound like a midi dummy but wether I use the FC 300 or the VG how do I go in and set up the patch change function on the GR-55. Also in the GR-55 midi/USB page PC Tx settings what does that do. I noticed at the top of the page it has Bank 0 and below it had where when you turn the edit wheel it shows the different patches in the GR. Being new to Midi, this is kind of confusing. I noticed also on the VG midi page what is the TX PC Strings 1-6 and how are they used.
Thanks again for any help!

Brent Flash

I don't have a GR but the manual indicates you go into the MIDI/USB section then GENERAL then PC RX SWITCH set to ON.

What you are describing sounds like MIDI PC mapping where you can tell the unit to switch to a preset that is not necessarily in order (PC #1 could pick preset #20 if you want it to). I think you should stick with PC 1 is PC 1 and so on for now until you get the hang of it.

On the VG you can have each string send out a PC so you can play a different sound on each string. This does not do you any good with the GR though. It will with soft synths.

You may want to read some of the threads on MIDI to catch up a little on the basics. I wrote a tutorial or two or three (can't remember) on MIDI a while back. I would point you to them but not sure where they are. If I run across them I'll point you in that direction.

rockhound

Thanks. This gets a little confusing when it comes to trying to get one unit speaking to another. For some reason I can't get either the FC 300 or the Vg to change patches on the Gr-55. What's funny is that the VG will change patches on my Korg M3 but not on the latter. I have checked the cables and also the midi channel and they seem to be fine. I'll try to find some midi info and try and read up and learn what I can. I sure miss just plugging up and playing.
Thanks again!

Brent Flash


gumtown

#7
In the GR-55,
hit EDIT, and scroll >>> to SYSTEM,
select MIDI/USB and press ENTER,
in the GENERAL tab, scroll down to PC TX SWITCH, and set it to "ON".

this will allow the GR-55 to send Program change messages to external devices, also make sure your Channel numbers match (PATCH CH).

NOTE: if the USB cable is connected, the Midi ports are NOT disabled, they are capable of working independently.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

gumtown

Sorry I mis-read your question, but how are you connected? using midi cables or USB via computer?
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

rockhound

Right now I am using midi as you can see in my original post. I want to say as an example on the VG have patch #133 Trogdor and be able to have the GR-55 switch to patch7-01 Legato lead and have them play at same time. Yes, the PC TX switch is on and both are set to midi channel 1. What do I need to do on the VG and GR to get them to work together.
Thanks!

Kevin M

Presumably you want to be able to change patches on both from your FC300, right?  If so, what mode is the FC300 using (sysex, control, patch...)?  I don't claim to have the answers, but I've been dabbling with the ability to control parameters on the GR55 by way of my FC300 and MIDI out from my VG99 and would be curious to learn more about this as well.

gumtown

I am trying to wrap my thought around how you actually have things physicaly connected, because if you go midi out from the FC-300 to the VG-99 or the GR-55, the midi out from either device will not daisy chain the patch change midi data from the pedal, unless you use "midi Thru" or a cable splitter from the FC-300 to both midi in's of the 99 & 55.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Kevin M

Quote from: gumtown on March 05, 2011, 01:00:55 PM
I am trying to wrap my thought around how you actually have things physicaly connected, because if you go midi out from the FC-300 to the VG-99 or the GR-55, the midi out from either device will not daisy chain the patch change midi data from the pedal, unless you use "midi Thru" or a cable splitter from the FC-300 to both midi in's of the 99 & 55.

I think he stated that in his original post:

FC300->VG99 (via RC22 cable), VG99 MIDI out->GR55 MIDI IN, GR55 MIDI OUT->Pro Tools 003 MIDI IN.   
         and
GK3->US-20->GR55,VG99 GK-IN. 

Except for the Pro tools link, this is how mine is setup. 

gumtown

OK, so the question then has to be, "does the VG-99 relay received midi patch change messages",.
I am guessing the GR-55 will change patch if the patch change is initiated directly on the VG-99, but not from the VG-99 receiving patch change data.
Is there an option for VG-99 mid thru?
I don't know much about the FC-330 either, but if you use the RC22 cable, does the midi out also work on the FC-300? if so, could this go directly to the GR-55 midi input.

I'm probably not much help on this one, all i can offer are those suggestions..
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

rockhound

Yes Kmaus10 is correct on my set-up. It doesn't matter really to me whether I go thru the FC 300 or the VG 99 midi out to the GR-55. Although right now its midi out of the VG 99 to the midi in on the GR-55. My main concern is that when I change a patch on my VG I want it to send a patch change on the GR. Lets say that when I switch to VG patch #127 Dyna Clean I want it to send patch change to say user #50-1 on the GR so that they can play together even though I send them to different mix channels in pro tools. Eventually I want to be able to do the above as well as trigger my soft synths like omnisphere with the midi out on the GR.
Hope this explains a little better.
Thanks again!

Click Sky Fade

Hi,

This is my first post to the forum but i have been following many of the threads regarding SysEx and general MIDI related question since I received my GR-55 in March. I have found this forum incredibly useful as I haven't toyed with MIDI for about 20 years.

I have also found the contributions made by gumtown, elantric and many others a great resource.

And here comes the question(s)...

1) i am trying to control various setting ( currently achievable through gymtowns excellent editor) using a behringer BCF2000 with limited success. Now correct me if i'm wrong but the GR-55 doesn't send sysex messages for parameter changes? (I have used midi monitor and sysex librarian (OSX) to check this).

2) Does anyone know if there is an application allowing one to change certain values of sysex data using a specific MIDI controller? ( eg. F0 41 10 00 00 53 12 18 00 10 0A 00 4E F7 -> change the last byte of 00 with 01 using CC77)

3) And finally and I suppose this should be in the GR-55 Editor thread as it is aimed at gumtown, how about incorporating midi control within the editor in order to resolve question 2?

Thanks

Click SKy Fade

Cristoby

MIDI-OX (Windows) can do #2, upon receiving a cc value, it can send a sysex with any combination of cc channel, data1 or data2 bytes added via wildcards.  Note however, that if transmiting to the GR-55, a calculated checksum byte may be needed as well, based on the sysex data bytes instead. MIDI-OX does not calculate such byte.  That may not be the case the if the BCF2000 is receiving the sysex.

Click Sky Fade

Thanks Cristoby,

Unfortunately I am a user of OS X and I have used MIDI-OX previously when I used windows.

gumtown

Quote from: Click Sky Fade on April 16, 2011, 12:07:39 PM
1) i am trying to control various setting ( currently achievable through gymtowns excellent editor) using a behringer BCF2000 with limited success. Now correct me if i'm wrong but the GR-55 doesn't send sysex messages for parameter changes? (I have used midi monitor and sysex librarian (OSX) to check this).
The GR-55 doesn't send sysx data unless a data request is sent to the GR-55 via midi  from an external source.

Quote from: Click Sky Fade on April 16, 2011, 12:07:39 PM
2) Does anyone know if there is an application allowing one to change certain values of sysex data using a specific MIDI controller? ( eg. F0 41 10 00 00 53 12 18 00 10 0A 00 4E F7 -> change the last byte of 00 with 01 using CC77)
I am not familiar with mac software, you might notice on the modeling and PCM tone switching that they are actually logicaly backwards "00" = on and "01" = off.
Sometimes i do use an Edirol PCR-M1 small keyboard controller to send sysx data to devices.
The Gr-55 is not fussy about a correct checksum, any value will do for parameter control.

Quote from: Click Sky Fade on April 16, 2011, 12:07:39 PM
3) And finally and I suppose this should be in the GR-55 Editor thread as it is aimed at gumtown, how about incorporating midi control within the editor in order to resolve question 2?
The Gr-55 Assigns should cover most needs from any midi sequencer, the assigns are capable of using external cc# continuous controller midi data to change GR-55 parameters on almost all patch parameters.

F.Y.I. You can set GR-55FloorBoard to "deBug Mode" from the midi settings menu, and watch the sysx data sent by the editor on the bottom left status-bar, good way to learn the midi spec for each parameter.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Click Sky Fade

Hi Gumtown,

Yes I have observed these values within your editor, I have also used SysEx Librarian to read these messages. I am also in the process of writing an application for the mac which will hopefully manage what i require for my original question number 2, i just dont want to go ahead and reinvent the wheel.

Thanks for info on question one though, so i have to request the data before it is sent out (makes sense really).


gumtown

The GR-55 uses standard Roland midi data aquisiton rules, say to get the Modeling tone switch status
F0 41 10 00 00 53 11 18 00 10 0A 00 00 00 01 xx F7
With 4 byte address start location, and 4 byte data request size. (xx is checksum).
the GR-55 will reply either
F0 41 10 00 00 53 12 18 00 10 0A 00 4E F7  if "on" (because of it's reversed logic)
F0 41 10 00 00 53 12 18 00 10 0A 01 4D F7  if "off"
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Click Sky Fade

Hi Gumtown,

Ok so i've taken this that you submitted to another thread (https://www.vguitarforums.com/smf/index.php?topic=3205.25)

F0 = sysx message header (message start)
41 = Roland device (manufacuter ID)
10 = Device midi Identity (fixed at device ID 16)
00 00 53 = Roland GR-55 identification
12 = sending parameter change data (11 = requesting data from the GR-55)
18 00 10 0A = address for modeling tone switch in Temporary memory address (10 = guitar modeling, 0A tone switch address)
00 = 'off, 01 = 'on'
4E or 4D = data checksum value
F7 = sysx message finished.

and this is the received message (got this)  :)

but what you are saying is that in order to receive this i need to send:

F0 41 10 00 00 53 11 18 00 10 0A 00 00 00 01 xx F7 where "00 00 00 01" is the data request size?

Now please correct me if i'm wrong but...

If that is the case then before sending a data request I need to know the size to request?

Also could you point me in the right direction of a resource for the roland data acquisition rules.

And finally as my application is not specifically targeted for the GR-55 or indeed Roland products, is there anyway to enumerate supported sysex commands ob a device.

Thank you so much for your insight.

:)

gumtown

#22
Here is the Boss GT-10 midi implementation document, which describes the way things work
https://static.roland.com/assets/media/pdf/GT-10_MI.pdf
the GR-55 midi implementation document is here:
https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=3348.0;attach=10864

Most GR-55 parameters are 1 byte in size, except for things like
Synth portamento = 2 bytes
patch master level = 2 bytes
BPM temp = 2 bytes
Assign Target & Min & Max values = 3 bytes each
plus the Assign min & max values are centered at a value of 1024, and - values are subtracted and + values are added to that figure.
Some Rate values = 3 bytes
Most Delay times = 5 bytes (one to select bpm/time, one for bpm values and 3 bytes for time value, each byte only uses LSB nibble and is worked mostly on 8 bit values as opposed to typical 7 bit midi spec values)
The GR-55 has a very complex midi specification.

The midi spec on other devices could be very different, i have found many other Roland products do not allow realtime sysex data control, typically most pre-2005. The GR-20 is one example of that, no realtime control built into the midi spec.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Click Sky Fade

Thanks for your help Gumtown, I think i'l tinker with the GT-10 as i now have the MIDI Implementation :)


Click Sky Fade