Midi Question

Started by Litesnsirens, October 02, 2015, 07:37:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Litesnsirens

I'm always on these forums but I think about once a year I wind up posting a midi question, I'm not that proficient at it but I really just want to sort of confirm if I'm understanding what is in the manual.  So here goes.
I would like to on some patches control a function on my Voicelive 3 from my GR-55 just to cut down on the tap dancing. 

An example is this, we play "Don't Pull Your Love" by Hamilton, Joe Frank & Reynolds.  For the intro and the choruses I am playing horns on the GR-55.  During the chorus I have the harmony block on the voicelive 3 turned on.  For the verses, I hit the CTL pedal on the GR55 and switch from horns to guitar and at the same time have to turn off the harmony block on the voicelive 3.  So you can see that it's a bit of a trick trying to hit 2 different switches on 2 different devices every time I transition back and forth between the verses and the choruses.

If possible I would like to for this patch hit the CTL on the GR55 and have it also turn on the harmony block of the Voicelive 3. Then when the CTL is turned off have it turn off the harmony block.

Having read the midi passages in the GR55 bible pertaining to this sort of application my understanding is that I could possibly set it up so that it does this all the time but not on a patch by patch basis. 

Even if I could my first hurdle is that the harmony block on the voicelive 3 responds to CC 110, while the GR55 will only transmit, 1 - 31 or 64 to 95 (god only knows why) But I could over come this I think with my midi solutions event processor.  But it looks like the CC that you assign to the CTL pedal is a global setting and can't be engaged or disengaged within any given patch.

Can someone confirm that I am understanding this correctly?  Or is there some parameter somewhere that I am missing that would allow what I am trying to achieve?

mooncaine

You seem to be correct. The Roland can't send CC 110 and the Voicelive 3 doesn't let you change that to another CC.

You might just have to use a MIDI pedal. If you can make room for it on the floor, a good budget option is the Behringer FCB1010. It's a good value, and it can send the patch change commands you'd need. You could go with a SoftStep, which looks like a deluxe option at more than twice the price (cuz you'd need the MIDI Expander with it), but 5 or 6 times more control options.

For about the same money as the SoftStep option, you could put a Livid Guitar Wing on your guitar, and wirelessly send this command with a tap of a finger (through another MIDI widget that puts the price up near the Softstep option). You could even set a button to engage some feature of the Voicelive 3 only when you're holding it down with your pinky.

Litesnsirens

Actually, once I got home from work I was able to program and determine that my Midi Solutions event processor will in fact do the conversion I need it to do.  I just programmed it so that it takes CC 20 and converts it to 56.  I decided to try it on the "Hit" button on the Voicelive 3 because I figure if I have to do some kind of work around I can have anything or nothing assigned to the Hit button.  More experimentation may change that.  It would be nice to be able to turn this on for some presets and off for others so that it doesnt control the hit button for every song.  I currently own the FC-300 which would do all this for me but I want to keep my gig-rig to a minimum and dont want to have these two units plus the FC300. 

gumtown

Just having a play with the GR-55 and found "V-Link" is the answer.
As the CTL cc# is globally fixed, use VLink off/on with patches required assigned to the CTL pedal.

I found V-Link On sends
F0 41 10 00 51 12 10 00 00 01 6F F7

and V-Link Off sends
F0 41 10 00 51 12 10 00 00 00 70 F7

You could use your midi event doodaa to use that data to switch the VoiceLive.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

FreeTime

The FC300 has that same CC#1–CC#31, CC#33–CC#95 limitation. I ended up using Midiox to translate.

Litesnsirens

Quote from: gumtown on October 02, 2015, 11:19:09 PM
Just having a play with the GR-55 and found "V-Link" is the answer.
As the CTL cc# is globally fixed, use VLink off/on with patches required assigned to the CTL pedal.

I found V-Link On sends
F0 41 10 00 51 12 10 00 00 01 6F F7

and V-Link Off sends
F0 41 10 00 51 12 10 00 00 00 70 F7

You could use your midi event doodaa to use that data to switch the VoiceLive.

Now this deserve deserves some investigation.  Hopefully I can figure it out.  I'm also looking into the possibility of going reverse and sending the CC from the voice love 3 to the gr55 since in each assign I have the option to assign the on/off switches of the various effects and tones to be activated by a CC as opposed to the CTL or the EXP switch.

Gumtown, I'm not great with midi speak. Which of the 12 sets of two numbers above refers to the CC number?  And is it some representation of a her code?  If so could translate it for me?  The midi event processor has a programming app that converts what I need info the above format and then loads it in.   It may be possible to just type in what you sent me but since I send PG on different midi channels to the two devices for this purpose I have the event processor change the midi channel as well.  All this starts taking the whole thing out of my comfort zone.

sixeight

#6
QuoteWhich of the 12 sets of two numbers above refers to the CC number?

The numbers make up a sysex message (in hexadecimal number format). You will still need the midi event processor to convert it a cc message. To switch it, make an assignment on the CTL pedal to switch vlink on and off.

Litesnsirens

sixeight, thank you for the insight.  Unfortunately I'm not mathematically inclined enough to decode the sysex message.  I looked in the manual and I couldn't find the CC message that it sends.

The reason I need this is that Midi Solutions has software, which I downloaded from their website for programming the sysex command to program into the event processor.  So I choose that I want to map an event then choose the type of event and then what I want to convert it to. 

This tool uses drop boxes that contain the easy to understand commands and then it does the conversion.

For instance the one that I created that worked for the CTL on it's own was as follows.  On the GR-55 on the GTR-MIDI tab I set CTL PDL CC =20.  Then in Midi solutions software I entered the following;

Setting = 1 (the device can store and perform 10 different settings)
Function = Map a midi event
Map the following Midi event ...
(the values between the ">" below are what I entered into the drop down boxes)
Control Change > 20 > Value Y > midi channel 1
...to this Midi event
Control Change > 56 > Value Y > midi channel 2

When I hit "OK" it creates this sysex message to program into the device

F0 00 00 50 28 02 00 01 03 00 7F 03 03 00 7F F7
B0 14 00
B1 38 00
{ Setting #1: Map all Control Change #20 events on MIDI channel 1 to Control Change #56 events on MIDI channel 2, with the incoming value mapped to the outgoing Control Change value. Continue to process settings  (control-click to edit) }

Then I hit program and it loads the settings into the device.

So then when I hit the CTL pedal it Sends CC 20 on midi channel 1 which the device converts to CC 56 on midi channel 2 which turns the hit button on and off on my Voicelive 3.

Of the sysex language above I have no idea what any of it refers to.  I don't know what number is the actual CC number which one refers to the midi channel etc. 

Ideally the V-link switch sends a value of 1-63 for off and a value of 64-127 for on then that lines up with the VL3 already and I don't need to map that part of it.  Then I would only need to know the CC# that the V-Link sends.


gumtown

OK.. Here goes.. hold on to yer hat..

This is the original requirement

Quote
If possible I would like to for this patch hit the CTL on the GR55 and have it also turn on the harmony block of the Voicelive 3. Then when the CTL is turned off have it turn off the harmony block.

Having read the midi passages in the GR55 bible pertaining to this sort of application my understanding is that I could possibly set it up so that it does this all the time but not on a patch by patch basis. 

The only way I can see the midi 'outside world' from the GR-55 being able to distinguish a CTL pedal action on some patches and not others is to use the V-Link on/off.
Patches where you want the Voice Live to switch its harmony on/off by pressing the GR-55 CTL pedal
The GR-55 sends a system exclusive data message over the midi port to switch on/off a V-Link video projection device (lets not worry about what it is), but we know when V-link is set "on" the GR-55 sends
F0 41 10 00 51 12 10 00 00 01 6F F7

and when V-Link is set "off" the GR-55 sends
F0 41 10 00 51 12 10 00 00 00 70 F7

I am hoping the midi solutions event converter can read these two messages as two separate entities, so if it recognises one it will then send to the Voice Live CC# 110 with a value of 127 (on) and if it recognises the other system exclusive message, it will send cc# 110 0 (off) to the VL3.

System exclusive data contains no cc# events, if the V-Link sysx message the GR-55 sends is broken into it's components.
Stuff you don't need to know, but might be interesting..
F0 = start of sysx message
41 = a Roland device
10 = unit ID number (different number if you have 2 or more V Link controllers on the same midi port and want to control each separately)
00 51 = the specific model of V-Link device
12 = sending an instruction to action
10 00 00 = specific device address the message is intended to control, which is V-Link device on/off
00 or 01 = setting 00 = off 01 = on
6F or 70 = checksum. the sysx data numbers are added up and the summed amount (last 2 digits) are sent with the data and made sure the same amount adds up on the receiving midi device (no data error).
F7 = end of sysx data packet.


So you will want your midi solutions device to 'read' those two sysx messages, and it not necessarily understand the data, but just recognise the pattern from the GR-55 and send the corresponding cc# event to the VL3
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

gumtown

It is possible to do things the other way around, where the pedal on the VL3 that switches the harmony (and sends cc#) can control the GR-55, in two ways
1.) convert the VL3 cc# to another cc# that the GR-55 can read (with the midi solutions event converter), and have an assign per patch that responds to cc#
2.)convert the VL3 cc# (with the midi solutions event converter), to a system exclusive message the GR-55 can understand, so you don't need to use an assign. and you can control any parameter in the GR-55 (even ones not in the assign list like amp type)

An easy way to find the sysx message required is to fire up the GR-55FlorBoard editor.
from the preferences > midi menu, select 'deBug' mode and any midi ports, the GR-55 doesn't need to be there.
hit 'connect', then any parameters you change will display the relevant sysx message below on the bottom status bar.
If you have midi Ox and midi yoke installed, you can select a midi yoke virtual midi port in the editor menu, and monitor the sysx data in midi ox (easy for copy/paste).

If you want modeling on/off sysx data, just toggle the modelling on/off button to read the data required, you should be able to copy this data and enter it into the midi solutions event converter, I don't have one, but I assume it can handle small amounts of sysx data
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Litesnsirens

Thanks gumtown, I think what I may do is send the information that you have posted to midi solutions and see if they can point me in the right direction since they should know how their gear works and how i might best enter the data.  They may just be able to figure out how to take those v-link sysex messages and send me back a code that I can cut and paste into the tool to program the event processor.  I agree with you totally the v-link would be a nice tidy solution if I could get the event processor programmed for it.  As far as going the other way ... I can't get the gr-55 to read from the voicelive 3.  I can see that the voicelive 3 is transmitting the data using "midi monitor" on my mac but I can't seem to get it to control anything on the GR-55.

And most importantly, thank you so much for taking the time to post this information.

I really appreciate it.

gumtown

#11
If you want the VL3 to send cc# to the GR-55 directly, make sure they are both talking on the same midi channel
(VL3 midi TX channel = GR-55 midi RX channel).

Having a play with the event processor software..
try this

Setting #1
Function = Map a midi event
Map the following midi event   
System Exclusive = F0 41 10 00 51 12 10 00 00 01 6F F7   
to the following event
Control Change = 110 undefined    value = 127  midi channel = 1 (set to the same as GR-55 midi RC channel)

Setting #2
Function = Map a midi event
Map the following midi event   
System Exclusive = F0 41 10 00 51 12 10 00 00 00 70 F7   
to the following event
Control Change = 110 undefined    value = 0  midi channel = 1 (set to the same as GR-55 midi RC channel)

Should work (theoretically?)
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Litesnsirens

I modified your instructions to control 56 as opposed to 110 and also instead of mapping to midi channel 1 I switched it to 2.  And... it works like a charm.  If I assign the VLINK to the preset, I have control turn it off nothing happens.  Brilliant!!!

I chose 56 over 110 because after giving it some thought, CC56 controls the Vocal Hit button, it's kind of like the CTL pedal on the GR-55 as you can assign any effect block to work from it or multiple blocks.  Thinking down the road, you never know what may come up so this will give me some flexibility.  I chose midi channel 2 because if it works I'd like to keep the two devices on separate midi channels for reading PC from the ipad.

As an added bonus I usually keep my HIT button on the Voicelive 3 on momentary for probably 99% of my patches.  The thinking is I can hold it down to sing a few words of harmony and then if I am doing a whole chorus or something longer I can leave the actual harmony button on latch.  This new control gives me the ability to latch the hit button from the GR-55 or use it in momentary mode on the VL3.  Best of both worlds.

I can't thank you enough for the time you took to provide this solution.

gumtown

Awesome !!
Now you can use the Vlink button on the GR-55 as your remote VL3 Hit button too.
Glue a rubber button over it with a hole for the blue led to shine through, and you have another CTL pedal.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Litesnsirens

Ok ... I just clued in to what you were getting at in that last post... duh!! I never thought of that.   Brilliant idea, I could then leave the CTL pedal free for other stuff.  I'll see if I need to go that route, it may not present itself as necessary but it's certainly a great idea.