Midi help

Started by kickaxe, May 04, 2023, 06:04:48 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kickaxe

Hey folks, I'm currently using my GP-10 as an audio and midi interface into Reaper. I use the sysex code from the volume knob on the GK-3 (it only sends sysex, no midi CC) to control the master volume in Reaper. This works great, except it only transmits when Boss Tone Studio is also connected. When BTS is closed, the GP-10 still transmits CC fine from the unit but no sysex from the GK. Is there a setting on the GP-10 that needs to be turned on?  I haven't been able to find one. Thanks

sixeight

You should set address 7F000001 to 1. This will get the GP10 into editor mode.

kickaxe

Thanks sixeight. I'm away from home now for 10 days but I'll look into that when I get back. How do I go about setting that address? Much appreciated. 

sixeight

The sysex message should be:
F0 41 10 00 00 00 05 12 7F 00 00 01 01 7F F7

Now I hope I calculated the checksum correctly...

kickaxe

Quote from: sixeight on May 07, 2023, 12:57:46 PMThe sysex message should be:
F0 41 10 00 00 00 05 12 7F 00 00 01 01 7F F7

Now I hope I calculated the checksum correctly...

Hi sixeight, I tried your code with Bome SendSX and it didn't work.  When I start Boss Tone Studio, my volume control of the GK sends sysex info no problem, but when I close BTS, it no longer transmits sysex.  When I open BTS, the Bome Midi-In window, shows a bunch of sysex codes (with the first couple being F0 7E 10 06 02 41 05 03 00 00 00 00 00 00 F7 and F0 41 10 00 00 00 05 12 7F 00 00 00 00 01 F7 and then more codes with varying bytes).  I tried to send those first few codes to see if that would work but it didn't.  I also tried cut and paste the whole list of codes from Midi-In and that didn't work either.  I do have Midi-out set to GP-10 and it seems to send properly as the Midi-out window does say "Sent 15 bytes" when I try to send your code.  Any other suggestions?  Thanks again for all your help.

sixeight

I tested it and it works for me.

Try the following:
* Start Bome SendSX with Gp10 set as MIDI in and out. Make sure you do not choose the DAW control ports. They do not work.
* Press CTL1 on a patch that has something assigned to it. Bome should show nothing
* Now send the code.
* Again press CTL1. You should now see data.

This proves that editor mode is on.

kickaxe

Quote from: sixeight on May 15, 2023, 07:46:33 AMI tested it and it works for me.

Try the following:
* Start Bome SendSX with Gp10 set as MIDI in and out. Make sure you do not choose the DAW control ports. They do not work.
* Press CTL1 on a patch that has something assigned to it. Bome should show nothing
* Now send the code.
* Again press CTL1. You should now see data.

This proves that editor mode is on.


Hi sixeight, this worked!  I was doing as you suggested but I was already connected to GP-10 via Reaper.  When I closed everything, then I could see input in Bome.  So my next question, is there a way to make this persistent?  When I turn off the GP it reverts to non-edit mode.  Is there a command to keep it in edit mode so that when I turn on the GP, it starts up automatically in edit mode?  If not, not a big deal, I just have to remember to run Bome before I startup Reaper.  Thanks again.

gumtown

The verbose mode command will need to be sent each time the Gp-10 is powered on, or each time the USB cable is plugged in.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

kickaxe

Quote from: gumtown on May 15, 2023, 04:22:45 PMThe verbose mode command will need to be sent each time the Gp-10 is powered on, or each time the USB cable is plugged in.
Ok thanks gumtown

kickaxe

Hi all, I have another midi issue that I'm trying to resolve.  I'm trying to use a knob from my midi controller to control the guitar tone parameter on my Boss GP-10 guitar pedal using sysex codes in Reaper.  I'm using ReaLearn by learning the source knob from my midi controller and sending midi sysex feedback to the GP-10.  This works perfectly to use a button from my midi controller to send a single sysex feedback code to do something like turn the tuner or alt-tunings on/off but I can't figure out how to do this using a range of sysex codes to control a target control like the guitar tone parameter on the GP-10.

The sysex codes to control the tone control parameter on the GP-10 go from F0 41 10 00 00 00 05 12 20 00 18 02 00 46 F7 which is tone control at 0, up to F0 41 10 00 00 00 05 12 20 00 18 02 64 62 F7 which is tone control at 100. I want to be able to send all values between 0 and 100 in order to smoothly control the tone parameter on the GP-10. I think I need to send something like the following: F0 41 10 00 00 00 05 12 20 00 18 02 [0lmn kjih][0gfe dcba] F7 but it doesn't work.  I can rotate through the 99 presets on my GP-10 using a knob on my midi controller using patch change feedback values of C0 [0gfe dcba] 00 however I don't know how to handle the range of values for the tone control parameter. I would really appreciate some help from someone more knowledgable than me. Thanks

gumtown

It should work so long as the checksum numbers are calculated correctly.

Here is a sweep of the GP-10 guitar model Tone control from 0~100

F0 41 10 00 00 00 05 12 20 00 18 02 00 46 F7
F0 41 10 00 00 00 05 12 20 00 18 02 01 45 F7
F0 41 10 00 00 00 05 12 20 00 18 02 02 44 F7
F0 41 10 00 00 00 05 12 20 00 18 02 03 43 F7
F0 41 10 00 00 00 05 12 20 00 18 02 04 42 F7
F0 41 10 00 00 00 05 12 20 00 18 02 05 41 F7
F0 41 10 00 00 00 05 12 20 00 18 02 06 40 F7
F0 41 10 00 00 00 05 12 20 00 18 02 07 3F F7
F0 41 10 00 00 00 05 12 20 00 18 02 08 3E F7
F0 41 10 00 00 00 05 12 20 00 18 02 09 3D F7
F0 41 10 00 00 00 05 12 20 00 18 02 0A 3C F7
F0 41 10 00 00 00 05 12 20 00 18 02 0B 3B F7
F0 41 10 00 00 00 05 12 20 00 18 02 0C 3A F7
F0 41 10 00 00 00 05 12 20 00 18 02 0D 39 F7
F0 41 10 00 00 00 05 12 20 00 18 02 0E 38 F7
F0 41 10 00 00 00 05 12 20 00 18 02 0F 37 F7
F0 41 10 00 00 00 05 12 20 00 18 02 10 36 F7
F0 41 10 00 00 00 05 12 20 00 18 02 11 35 F7
F0 41 10 00 00 00 05 12 20 00 18 02 12 34 F7
F0 41 10 00 00 00 05 12 20 00 18 02 13 33 F7
F0 41 10 00 00 00 05 12 20 00 18 02 14 32 F7
F0 41 10 00 00 00 05 12 20 00 18 02 15 31 F7
F0 41 10 00 00 00 05 12 20 00 18 02 16 30 F7
F0 41 10 00 00 00 05 12 20 00 18 02 17 2F F7
F0 41 10 00 00 00 05 12 20 00 18 02 18 2E F7
F0 41 10 00 00 00 05 12 20 00 18 02 19 2D F7
F0 41 10 00 00 00 05 12 20 00 18 02 1A 2C F7
F0 41 10 00 00 00 05 12 20 00 18 02 1B 2B F7
F0 41 10 00 00 00 05 12 20 00 18 02 1C 2A F7
F0 41 10 00 00 00 05 12 20 00 18 02 1D 29 F7
F0 41 10 00 00 00 05 12 20 00 18 02 1E 28 F7
F0 41 10 00 00 00 05 12 20 00 18 02 1F 27 F7
F0 41 10 00 00 00 05 12 20 00 18 02 20 26 F7
F0 41 10 00 00 00 05 12 20 00 18 02 21 25 F7
F0 41 10 00 00 00 05 12 20 00 18 02 22 24 F7
F0 41 10 00 00 00 05 12 20 00 18 02 23 23 F7
F0 41 10 00 00 00 05 12 20 00 18 02 24 22 F7
F0 41 10 00 00 00 05 12 20 00 18 02 25 21 F7
F0 41 10 00 00 00 05 12 20 00 18 02 26 20 F7
F0 41 10 00 00 00 05 12 20 00 18 02 27 1F F7
F0 41 10 00 00 00 05 12 20 00 18 02 28 1E F7
F0 41 10 00 00 00 05 12 20 00 18 02 29 1D F7
F0 41 10 00 00 00 05 12 20 00 18 02 2A 1C F7
F0 41 10 00 00 00 05 12 20 00 18 02 2B 1B F7
F0 41 10 00 00 00 05 12 20 00 18 02 2C 1A F7
F0 41 10 00 00 00 05 12 20 00 18 02 2D 19 F7
F0 41 10 00 00 00 05 12 20 00 18 02 2E 18 F7
F0 41 10 00 00 00 05 12 20 00 18 02 2F 17 F7
F0 41 10 00 00 00 05 12 20 00 18 02 30 16 F7
F0 41 10 00 00 00 05 12 20 00 18 02 31 15 F7
F0 41 10 00 00 00 05 12 20 00 18 02 32 14 F7
F0 41 10 00 00 00 05 12 20 00 18 02 33 13 F7
F0 41 10 00 00 00 05 12 20 00 18 02 34 12 F7
F0 41 10 00 00 00 05 12 20 00 18 02 35 11 F7
F0 41 10 00 00 00 05 12 20 00 18 02 36 10 F7
F0 41 10 00 00 00 05 12 20 00 18 02 37 0F F7
F0 41 10 00 00 00 05 12 20 00 18 02 38 0E F7
F0 41 10 00 00 00 05 12 20 00 18 02 39 0D F7
F0 41 10 00 00 00 05 12 20 00 18 02 3A 0C F7
F0 41 10 00 00 00 05 12 20 00 18 02 3B 0B F7
F0 41 10 00 00 00 05 12 20 00 18 02 3C 0A F7
F0 41 10 00 00 00 05 12 20 00 18 02 3D 09 F7
F0 41 10 00 00 00 05 12 20 00 18 02 3E 08 F7
F0 41 10 00 00 00 05 12 20 00 18 02 3F 07 F7
F0 41 10 00 00 00 05 12 20 00 18 02 40 06 F7
F0 41 10 00 00 00 05 12 20 00 18 02 41 05 F7
F0 41 10 00 00 00 05 12 20 00 18 02 42 04 F7
F0 41 10 00 00 00 05 12 20 00 18 02 43 03 F7
F0 41 10 00 00 00 05 12 20 00 18 02 44 02 F7
F0 41 10 00 00 00 05 12 20 00 18 02 45 01 F7
F0 41 10 00 00 00 05 12 20 00 18 02 46 00 F7
F0 41 10 00 00 00 05 12 20 00 18 02 47 7F F7
F0 41 10 00 00 00 05 12 20 00 18 02 48 7E F7
F0 41 10 00 00 00 05 12 20 00 18 02 49 7D F7
F0 41 10 00 00 00 05 12 20 00 18 02 4A 7C F7
F0 41 10 00 00 00 05 12 20 00 18 02 4B 7B F7
F0 41 10 00 00 00 05 12 20 00 18 02 4C 7A F7
F0 41 10 00 00 00 05 12 20 00 18 02 4D 79 F7
F0 41 10 00 00 00 05 12 20 00 18 02 4E 78 F7
F0 41 10 00 00 00 05 12 20 00 18 02 4F 77 F7
F0 41 10 00 00 00 05 12 20 00 18 02 50 76 F7
F0 41 10 00 00 00 05 12 20 00 18 02 51 75 F7
F0 41 10 00 00 00 05 12 20 00 18 02 52 74 F7
F0 41 10 00 00 00 05 12 20 00 18 02 53 73 F7
F0 41 10 00 00 00 05 12 20 00 18 02 54 72 F7
F0 41 10 00 00 00 05 12 20 00 18 02 55 71 F7
F0 41 10 00 00 00 05 12 20 00 18 02 56 70 F7
F0 41 10 00 00 00 05 12 20 00 18 02 57 6F F7
F0 41 10 00 00 00 05 12 20 00 18 02 58 6E F7
F0 41 10 00 00 00 05 12 20 00 18 02 59 6D F7
F0 41 10 00 00 00 05 12 20 00 18 02 5A 6C F7
F0 41 10 00 00 00 05 12 20 00 18 02 5B 6B F7
F0 41 10 00 00 00 05 12 20 00 18 02 5C 6A F7
F0 41 10 00 00 00 05 12 20 00 18 02 5D 69 F7
F0 41 10 00 00 00 05 12 20 00 18 02 5E 68 F7
F0 41 10 00 00 00 05 12 20 00 18 02 5F 67 F7
F0 41 10 00 00 00 05 12 20 00 18 02 60 66 F7
F0 41 10 00 00 00 05 12 20 00 18 02 61 65 F7
F0 41 10 00 00 00 05 12 20 00 18 02 62 64 F7
F0 41 10 00 00 00 05 12 20 00 18 02 63 63 F7
F0 41 10 00 00 00 05 12 20 00 18 02 64 62 F7
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

kickaxe

Thanks gumtown. I was wondering if I could specify the whole range with one command like F0 41 10 00 00 00 05 12 20 00 18 02 [0lmn kjih][0gfe dcba] F7 where [0lmn kjih][0gfe dcba] are like wildcards.  I know how to get the sysex codes from your gp-10 edit program (thanks for that!) but not sure how to list out all of those codes without cut and pasting them one at a time... 

sixeight

#12
This article was my ticket into Boss/Roland sysex knowledge:
https://www.2writers.com/eddie/TutSysEx.htm

The code I use for calculating the checksum is:
// Calculate the Roland checksum
uint8_t calc_Roland_checksum(uint16_t sum) {
  uint16_t checksum = 0x80 - (sum & 0x7F);
  return checksum & 0x7F;
}

Hope this helps.

kickaxe

Quote from: sixeight on February 12, 2024, 02:33:53 AMThis article was my ticket into Boss/Roland sysex knowledge:
https://www.2writers.com/eddie/TutSysEx.htm

The code I use for calculating the checksum is:
// Calculate the Roland checksum
uint8_t calc_Roland_checksum(uint16_t sum) {
  uint16_t checksum = 0x80 - (sum & 0x7F);
  return checksum & 0x7F;
}

Hope this helps.

Thanks sixeight, I ended up using the sweep provided by gumtown in a lua script into reaper and that worked fine.

I have another question though if someone can help answer, that would be great.

Does anyone know if we can query the state of a particular parameter using sysex?  For example, I'm trying to assign pickup switch positions to a knob on my midi controller but some guitars have 5 positions, some 3... It would be nice to be able to query what the current guitar loaded is so we could map the correct number of pickup positions to  knob.  Thanks

sixeight

Quote from: kickaxe on February 13, 2024, 11:34:15 AMThanks sixeight, I ended up using the sweep provided by gumtown in a lua script into reaper and that worked fine.

I have another question though if someone can help answer, that would be great.

Does anyone know if we can query the state of a particular parameter using sysex?  For example, I'm trying to assign pickup switch positions to a knob on my midi controller but some guitars have 5 positions, some 3... It would be nice to be able to query what the current guitar loaded is so we could map the correct number of pickup positions to  knob.  Thanks


Yes you can. Study the tutorial!

kickaxe

Quote from: sixeight on February 14, 2024, 07:45:24 AMYes you can. Study the tutorial!
I studied the tutorial.  I now know I have to send byte 8 as 11 to request info instead of 12 to send, which I can do no problem.  I also know how to compute the checksum no problem.  I just don't know which sysex codes will return the info I'm looking for.  I know the code for setting the GP-10 to Electric Guitar using sysex F0 41 10 00 00 00 05 12 20 00 10 01 00 47 F7.  I know I can send sysex F0 41 10 00 00 00 05 12 20 00 18 00 00 48 F7 to set it to a Classic Strat and sysex F0 41 10 00 00 00 05 12 20 00 18 09 04 3B F7 to set it to Front pickup.  I'm just not sure which codes to send to get feedback. I tried sending the Electric Guitar sysex code with byte 8 set to 11 hoping it would return sysex info on which guitar is set and which pickup is set... but that didn't work. I don't really understand the midi implementation guide either.  If you could guide me with an example, that would likely get me going. If not, I'll keep plodding along.  Regards,

sixeight

Try sending:
F0 41 10 00 00 00 05 11 20 00 18 09 00 00 00 01 3E F7

This will request one byte from address 20001809

gumtown

I am not sure about the GP-10, but many recent Boss units require it to be in "editor mode" before it will send requested data.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

sixeight

Quote from: gumtown on February 15, 2024, 11:22:02 AMI am not sure about the GP-10, but many recent Boss units require it to be in "editor mode" before it will send requested data.

It is not necessary on most units. Editor mode will send any changes you make on the unit to the editor. But requesting specific data always works for me.

kickaxe

Quote from: sixeight on February 15, 2024, 07:32:14 AMTry sending:
F0 41 10 00 00 00 05 11 20 00 18 09 00 00 00 01 3E F7

This will request one byte from address 20001809
Hi sixeight, with your help I was able to query which guitar and which pickup the GP-10 is set to via sysex commands.  Thanks so much for your help.
Regards,

kickaxe

Quote from: sixeight on February 15, 2024, 10:57:47 PMIt is not necessary on most units. Editor mode will send any changes you make on the unit to the editor. But requesting specific data always works for me.
Quote from: gumtown on February 15, 2024, 11:22:02 AMI am not sure about the GP-10, but many recent Boss units require it to be in "editor mode" before it will send requested data.
Thanks gumtown, I was in editor mode when I tried it originally.  I took it out of editor mode, re-tried the send and it still worked so I guess, it's not required on the GP-10.  So far I've only come across the tuner that required editor mode be sent before engaging.  Regards,