"Chord Memory" Based in Ext. Input


I’ve got a Midihub on its way. I’m very new to this but luckily most of what I’m after is quite simple and/or already covered with other people’s patches in Patchstorage.

One useful thing I’ve thought of that I haven’t been able to work out though - and can’t really test until I get the Midihub itself - is how to create a classic “chord memory”.

The Harmonizer pipe covers part of it, but I’m unsure of how to combine this with any of the other pipes to actually populate those interval parameters based on a keyboard input? I’m assuming maybe an array of Dispatcher pipes but I try until I get the unit…

I’ve done a bit of searching but can’t find anyone covering this specific type of harmonization (ie. using an external input instead of pre-setting the intervals via the Midihub Editor)? Maybe I’m searching for the wrong terms though.

Apologies in advance if it’s really obvious…


Hey @linee

Would you give a few specific examples of what you mean,
ie. what ext key input you want to give what output

eg. I think you mean (say)

C3 → Midihub → C3 E3 G3 out
D3 → Midihub → D3 F3 A3 out

If it’s this…
and you’re wanting a ‘fixed’ setup (“this is my single-key ‘Hungarian Minor in E’ preset”) …
and you want (say) Ch1 in Ch1 out…

… then one solution would be a bunch of Transforms, each changing a specific note to a fixed channel

These now multi-channel notes would be picked up by a bank of pipelines each creating its designated chord…

On the other hand, you could just create a fixed set of intervals in a Harmonizer, run it into a Scale Remap and see what comes out!

Welcome to the forums…
…and enjoy your Midihub journey!

Hi there, thanks for the response.

I’m thinking of the traditional chord memory found on things like the Alpha Juno or Korg Poly 800 (and a million others) and probably most midi controllers (like the Keystep 37).

As in:

  1. You “arm” the chord memory to record what you play next
  2. Play a chord on the keyboard ie. C3 E3 G3
  3. These intervals then get stored in the memory
  4. Now when you play a C3 it plays the C3 E3 G3 major triad you entered in
  5. This transposed across the keyboard by pressing one key (ie. if you play a F2 it will play F2 A2 C3 major triad
  6. If you were to arm the chord memory again, you could play a different chord shape and then play and pitch that new chord with one finger

So it’s very basic, big dumb parallel chord voicings with no “intelligence” built in to do things like adjust the 3rd dpending on what chord in what key you’re in etc. etc. That’s the type of stuff I’m seeing a bit of other people doing, using the Scale Remapping to “fix” diatonically “off notes” depending on criteria, but what i’m after is just this super basic WYSIWYG manual input , 1-fingerpitch-that-around version.

I can see the appeal of selecting pre-ccooked chords via CC and pitching them too, but there’s something very fun about being able to create the chord in any weird inversion via a keyboard and immediately play it. A bit like the difference of playing with a good arpeggiator vs. pitching sequences you’ve pre-programmed around.

So basically what i can’t work out from the manual is how to approach getting notes in from the midi input and then using those to populate the intervals in the Harmonizer.


one of the aspects of Midihub –which plays out in various ways– is that it’s best to think of it as a “one message at a time” machine.
It uses this in a particular way with Arpeggiator but in effect Midihub has no native concept of a chord.

Trying to get it to do so is tricky.
On a different aspect of chords (but with some underlying structural similiarities) look @JoeyButters’ work to get strum patterns; it shows the efforts he put into getting a chordal response.

personally, I’d tackle it from an angle which Midihub excels at:
like Note Range Filters to channel different groups of keys off to different Harmonizers and feeding the results through the same Scale Remap to keep it “musical”

thanks once again for the detailed response.

so yeah, it seems that i wasn’t missing something and the just midihib isn’t really set up to do something like this. a little bit of a shame as Chord Memory seems so commonplace and fundemental - on the level of like an arpeggiator - that it would have its own Pipe (or at least be a subset of another one).

oh well, it’s not what i bought it for but would have been nice to have again now that i don’t have any keyboards with it built-in.

i will try out the strum pattern patch once i get the unit - a bit easier to parse the midi-flow when you get an immediate response.


1 Like

Yes indeed, being able to Monitor what Midhub is doing pipe-by-pipe (& with a patch like Joey’s, hear it) helps a lot.
It took me a while to realise the potential of MIDI Monitor; “New to Midihub” Step-by-Step.03 Monitoring incoming messages is all about this.


bit of a shame as Chord Memory seems so commonplace

When I’ve seen Giedrius discuss this ( :link: needed), it seems like the memory part is less the issue than the recognition.
In other words, the chord pipe could work fine for someone with competent keyboard skills & timing like you, but it could mess up –{“Oh, you call that a ‘chord’”}– with the hordes of ham-fisted numpties like me (who would doubtless then blame MH not their playing!)

Having said that, I look forward to whatever Chord pipes do get built in ~ my bet would be new pipes that seem to be just be simple on the surface but make you go “oh Wow, now I can do this” further down the line…