Round robin cyclic chord box

Hello there, I’m thinking of getting a Midi hub but first I’d like to know if what I want it for is possible. Done a search in the forums but couldn’t find a similar use case.

I have already downloaded the editor to try and implement a prototype. Any guidance would be really useful.

Basically, I want midi hub to trigger a succession of different chords when receiving a specific midi message (note or CC). This is to be able to play guitar while triggering each chord in succession by pressing a footswitch on my guitar pedal (HX Stomp) and making the synth receive the midi chords and playing them.

What I need is basically as follows:

  • Midi hub would receive one specific midi note or program change message for each time the next chord in the progression should to be triggered.
  • Midi hub would have an array or dictionary of the chords’ midi notes for each preset in memory.
  • Midi hub would receive this specific note and cycle through the chords array.
  • Midi hub would send these chords to the synth.

Would this be possible?

Any information or direction would be much appreciated.

Thank you!

Cheers!

Yes, this is possible but not trivial!

Do you want to know that you can do it or how? :wink:
( it will involve virtual mappings to set the notes and either Dispatcher or Scale Remap to handle the cycle – both using notes as information carriers rather than musically )
The data array would resemble this…
TransformDataArray
…maybe with a different type of filter depending on the approach

You would need to decide what you want to do about

  • velocity

  • note length, fixed…
    (will HX Stomp also send Clock?)

  • …or Note Off triggered externally

Those aspects may affect the design.




PS

one specific midi note or program change

Bear in mind HX Stomp may send Note On and Note Off. This potentially gives you two time-separated events.

array … chords’ midi notes for each preset

Indeed, one cycle per preset (possible to do more but safer performance wise IMO)

Presumably you have a way of changing presets (this could be done by HX Stomp but then that’s two buttons) or do you need a workaround for that too?

Welcome to Midihub :rocket:

Hi resonotter, thank you for your awesome reply! :muscle:

I’ve been fiddling around with the editor building some pipes and diving into the modules.

I managed to create the example pipe you posted in the image and have a few questions if that’s OK.

You would need to decide what you want to do about

velocity

note length, fixed…
(will HX Stomp also send Clock?)

…or Note Off triggered externally

Those aspects may affect the design.

Fixed velocity is OK, I´ll be triggering synth pads to lay the harmonic foundation for the guitar melody.

Note length should be the length that exists between the note on and the note off messages, so I can hold the chord while pressing the footswitch on the HX Stomp and move to the next one on note off message.

Sending clock from HX Stomp is possible, would that be beneficial in any way?

Indeed, one cycle per preset (possible to do more but safer performance wise IMO)

When you say one cycle per preset, you mean one cycle containing all the succeding chords in that progression, like an array or list of chords? Each transform module in the pipe would represent one chord, right?

And finally, I know I read somewhere (that I can’t seem to find again :sweat_smile: ) that there is a way to use MidiHub Editor without actually having a physical MidiHub. Is that possible? It’d be nice to be able to send midi from a DAW or USB controller to test the output on the midi monitor (I’m using Mac). That way I can test the pipes.

Thank you very much again!

Cheers!

1 Like

Hey @mrtnclmb, No that’s not possible.
While you can use Editor to write patches and Save them (which I guess you’ve done),
you won’t be able to test them without a Midihub connected.


Sending clock … would that be beneficial?

Not now you’ve said you’ll be providing Note Off


When you say one cycle per preset, you mean one cycle containing all the succeding chords in that progression, like an array or list of chords? Each transform module in the pipe would represent one chord, right?

Yes and No, respectively:

  1. The 6 rows you see in the pic would represent 6 chords
  2. so the idea was that each Transform in a row would provide a single note

Now that was just a sketch.:

This…

…is closer to what you want:

  • The Dispatcher cycles the incoming Note through – so here a 3chord cycle
    Note the channels of the Outgoing. Note it repeats.
    (Note also it matches up the Note Offs)

  • the next 3 pipelines allow only one channel each and remap it (so it’s not same as that of chord notes)

  • yielding a triad, 4-note chord, triad in order

So using Dispatcher would give you a max 16 chord progression. Clearly by copy-dragging pipelines, you could repeat chords in the progression if desired.


EDIT
Not the only way:
you could always use a single (fixed) Note → Root Note Transform…
…followed by a Harmonizer to create the respective chords.

The main advantage of the clunkier n x Transform method is it allows different velocities within a chord…