Integrating into guitar pedal board

Hi there.

I have a guitar pedal board built around a Gigrig G2.
The simple solution to my issues would be to buy a G3… but I don’t have that kind of money.
So, I’m wondering if I can use the MIDIHub to fill the gap.

The G2 has set Program change messages per preset.
So preset one sends out program change one and so on.

Can I set up Midihub so that preset two from the G2 is converted to Preset 1 inside midi hub?
If so, can this be done on a per channel basis?

So… I send program change one out of the G2 and the Midihub receives this and then sends out program change one on channel one, program change two on channel 2 and so on…


Is it my understanding that the actual midi hub can only store 8 presets?

Hi, @Homebelly Charles (welcome to Midihub forums)

It sounds like you don’t own a Midihub (yet :smile:)

Yes, I think all this is possible within MH.
Before committing though, let’s be sure and be really specific by having a set of examples

MIDI-A Ch1.PC6 → [MH] → MIDI-A Ch6.PC10 and MIDI-C Ch16.PC9


So… I send program change one out of the G2

By this I take it you mean

  • Ch1.PC1 → [MH] → Ch1.PC1
  • Ch2.PC1 → [MH] → Ch2.PC2
  • not Ch1.PC1 → [MH] → Ch1.PC1 and Ch2.PC2 etc

Midihub can do either

Try it yourself
You can download the Editor and start building pipelines
or (if you’re specific enough with your examples!) I’ll sketch you out a preset to show you what a solution would look like in the Editor

midi hub can only store 8 presets?

Yes, but a preset patch can do a lot
The ways MH might be able (–all within one of its own presets–) to handle messages coming from different G2 presets will depend on specifics of what G2 sends during a given (G2) preset and what it sends when it changes presets

1 Like

Resonotter… Thanks for the reply.

You’re right, I don’t have a MB yet… but it’s on it’s way to me right now and should be here by the weekend or early next week.

I’ve been messing with the editor and getting my head around the naming and functions.

The G2 has a single midi out.

So I’m guessing I’ll need to set up a pipe line that starts with a MIDI in A and is then connected to a transform modifier and then a Midi out.
I currently have three midi capable pedals that all use standard midi connectors.
I’ll probably have each pedal on it’s own physical midi out from the MH.

I’ll use a MIDI Filter in the MH to filter out MIDI Clock, and use the MH to generate MIDI clock.

The G2 has up to 120 presets across 8 banks of 15.
I probably won’t need that many…
So I’m guessing I’ll need to copy the basic set up I outlined already

  • MIDI Input - Filter - Transformer - Midi out;
    As many times as I need to remap a program change sent from the G2?

If you could reply to this confirming I have the right idea, that would be awesome.

Once I get the MH and my board set up I’ll try it out and if I need help setting up the filter or, more likely, the transformer I’ll pop back in here and ask for more help.


Hey @Homebelly

The G2 has a single midi out

I currently have three midi capable pedals

So is your initial task to take a G2 PC in and send 1~3 PCs out?

then your “MIDI Input - Filter - Transformer - Midi out” is a plan.

When you get your Midihub the first thing to do is hook it up (say MIDI-DIN-A-IN) drop that input into the Editor and watch the MIDI Monitor to see what’s coming in†.
You might want to Filter your messages, you might not

Whether you need a line for each depends on the Channels of the receiving pedals (and whether you can change them):

The ideal scenario would be for the incoming PC channel to be different to the outgoing ones. Then you can do something like this…
…where the Transforms only act on Ch1 PCs (here PC10) and the other 2 pipelines only allow Ch2 & 3 respectively through.
(you could then have any number of Ch1PCs being transformed in Line 1, and any that don’t get blocked later)

It’s no big deal if your incoming Ch is same as your outgoing but we can talk about that if so.

Time to open those pedal manuals!

†Is this right for your G2?

If your other pedals follow nice sequential patterns like this, there maybe serious shortcuts you can take with Note Remap/CC Remap (teaser!)

1 Like


So my MIDIHUB arrived… and I also got covid. :roll_eyes: :face_with_thermometer:
So the covid laid me out for a few days… and today I was able to set up my board.
Here’s a pictures just for the why the hell not…

1 Like

So what I want to achieve is this.

Preset #1 on the G2 sends out a PC Message on channel 1 to the Midihub.
The midi hub takes that message and sends out PC Messages on unique Midi channels to the D1-Synesthesia and the M1.
Those would be channels 1-3 respectively.
The patch I have attached looks like this

As you can see each of the transformers is currently passing through the midi out from the G2 to each of the MIDI pedals on corresponding midi channels mirroring the preset number sent from the G2.

So far so good…

What I would like to do from here is set this up so that I can have each preset on the G2 from 1 to 13 (at this stage) be able to share individual presets on the actual pedals, or bypass the pedal altogether.


Preset 1 sent from the G2 will select PC#1 on the D1 and PC#3 on the Sythesthesia
Preset 2 from the G2 will select PC#1 on the D1 and PC#6 on the Synesthesia.

I’m guessing it’s a case of copy and pasting the pipeline I have made here, and changing the ranges some where in settings for the transformer… :thinking:

This is the actual patch so far.
Pedal board sand pit.mhp (382 Bytes)

I’ve spent the best part of the morning and afternoon trying to get this to work. :grimacing: But I can’t.
I’m sure it’s an easy fix… but I can’t figure it out with my post covid brain…

Cheers for your help so far.

Excellent news on your Midihub.
(I wonder how many are in NZ?)

First on your Pedal board sand pit.mhp
As you’re sending all out A, no need for the 3 lines; All 3 Transforms can sit on the same line

This also suits your target set-up of “one G2 Preset In per Midihub Transform Line Out”

As for this “G2 Preset-based Output” model:

We really need to know what you can come from your G2 with these specific presets

  • I posted a snap of a doc called “G2 MIDI map”
    but I have no idea what Banks are and how they relate to Presets

  • In the manual it says
    “SF7- Midi Setup. This enters a Midi setup mode so each foot switch can send out its program change code on any of ten available Midi Channels.”

    this seems to refer to what get sent out in different banks/presets when different buttons are sent,

  • …I’m not sure whether you want to
    a. change a bank/preset, then hit a button to change the others
    b. the G2 automatically sends out out a messages (only PC?) when changing a bank/preset

Assuming you have (b) above…

…the next step is : send screenshot when MIDI-A-IN is selected, monitoring just what comes in when you select different “Presets” (without hitting any other buttons – leave a few secs between each change so that separation in Monitor is obvious)

If it’s (a)…
…do same with the button you intend to hit.

Once we know the in’s, we can figure out how to get the outs!

PS. If the detail above shows a lack of understanding of the G2 a bit of clarification would be useful

(I felt a little life-force drain away when I saw a Contents page with neither page numbers nor hot-links. “Wtf, it’s not a novel!”)

1 Like

Here ya go…

Also… thanks heaps for your help with this.
I’m sure it’s probably a very simple issue that is flying over my head at the moment.

Also, not sure how many MIDIHubs are in NZ.
I first found out about them when I was learning how to use my AKAI Force and saw a video of some one using the force and the Midihub to make generative music…
I still have the force, but it’s been kidnapped by my youngest son… so I. might have a look at that aspect once I have this issue solved.

Okay… I think I’ve made a break through…
In the words of one of my greatest heroes … Eric Theodore Cartman… Holy crap!..

I have three transformers representing each of my midi devices in a row going from MIDI-In A to MIDI-Out A.

I have set up the transformer for the first device on MIDI CH#1 like this; -

Each transformer is set up the same except the mode in the following transformers is set to Insert After.
I then set the Arg 1 to what ever preset I want to select.
This particular transformer is set up for preset one on the midi device on channel one.
The next transformer is set up for preset 4… and so on.

The secret seems to be the work with program number range, and the Use program number — Inside range/out side dialogue.

This set up is for preset one sent out from the G2.
I need to copy this pipe line for each preset and change Arg 1 and then shift the ranges.
I’m reasonably sure I could just train out as many transformers as I like between the two MIDI-in/NMIDI-out. But, it seems neater if I treat the entire row as a preset and have as many rows as I need presets.

Here is the preset;
Pedal Board Sandpit - this works.mhp (448 Bytes)

I need to pack everything away now for the rest of today.
But I’m going to mess with the work with, and use program number ranges tomorrow to see if I need to use both of these…

If this is the best way to do this, is there a way to name each pipe line?

Hey, Charles

(Just glancing at this at 5am after a heavy night so read this with bolox alert on, but…)

Your Transform approach seems basically sound.

Bits I’m unsure about:

  1. You have 5 (time-separated) PCs in your Monitor so it looks like 5 bank/preset changes
    Is that so?

  2. but you have only 3 pipelines suggesting only 3 G2 “states”

  3. Your initial Transform (on each line) reads Work with Program Number in Range Low}High [0,1], [1,2], [2,3] resp.

    Be aware these ranges are inclusive so PC1 & PC2 will be processed by 2 lines simultaneously.
    I’m not sure this is what you want (but see 1)

other NBs
There is a potential minefield with Transform where you create one message which also fits the criteria of the next Transform and so on, leading to 1 → 2 → 4 → 8 etc.
I don’t think this is an issue for you here, but be alert to it as your patch develops.

You’ll have noticed that there are Note and CC-specific Filters but none for PCs.
At some point, you might want to explore leveraging this capability…
…but that’s probably a later discussion…

Glad you’ve had your first Holy Crap moment. There will be more…

A line per distinct process is often good future proofing when you’re not stretching the pipe limit (255!)

Add a few notes in Description now; many of us find that a patch that is obvious to us now becomes mysterious a few months down the line…

No way currently to label pipelines or groups thereof. Has been requested so may appear in future.
Again, use Description:

I find...
1. (L1 note)

2. (L2 note)

3. etc

(paste into Description in Edit mode then switch to View mode to see the formatting)

…works well once your pipeline order has been developed…
if you’re concise (1024 char limit)
but pipeline group labelling will be a leap forward when it arrives

Further to

This the the output of a Monitoring version of your sandbox:

(Redirecting all the common outputs to a single Virtual is a useful monitoring technique during development.)

The key point to note here is that the incoming PC has been rechanneled to Ch8 to distinguish it from the “created” PCs.
There are rather more than I imagined

Adding a new Drop Transform at the start of each line could be a solution to duplication…

Thanks heaps for adding knowledge and help to this unfolding saga…

I won’t be able to try this out again until the weekend.

In the mean time.
What is the advantage of using a virtual midi pipe as apposed to just having each transformer, or any other function or filter for that matter, running in series?

The editing of the DIN-OUTs to VIRTUAL-OUTS, in this context, is merely a quick adaptation for Monitoring purposes of the original patch.
It thus shows the MIDI stream as it would be ‘seen’ by your receiving device, highlighting any issues with the original design.

“Running in series” would be one of the re-design options that might arise from it.

Like you, however, I favour the “entire row as a preset” design for clarity:

In order to maintain this, before 1.14.0, I would’ve Transformed all the PCs into say CCs in a first pipeline, then picked up and Filtered out the CCs I wanted to ignore in a series of virtual lines, etc.

Now we have 1.14,

I'd do this:

Before what was the first Transform…


…alt-drag a copy and change it to Drop

and change Use Program NumberOutside Range:

Note1. changed the range to refer to a single PC so that the pipelines no longer “overlap”

Note2. changed the Mode to After. This is so I can have just re-use the same Transform and copy via alt-drag so my line goes

  1. copy. edit to Drop Outside
  2. Original Insert After
  3. copy. edit to next PC/Channel
  4. copy. edit to next PC/Channel.
    if this is the last, change to Replace

This way only my target PC gets in the line…
…it runs down the line creating new PCs…
…and finally gets replaced