Auto chord feature

edited February 18 in How to's

I’ve had the idea of making an auto chord patch not unlike the ones in old Casio and Yamaha portatone home keyboards. The ones where one would get different chord extensions by adding more fingers on the keyboard. So for example holding a C key would produce a C major chord but adding a D sharp key would produce a C minor with more keys pressed one might achieve 7ths and so on and so forth.

If I remember well this would work harmonically as chords or as arpeggios if arpeggiator was engaged.

I’ve made several patches combining chord and cv quantiser modules but none of them quite does it.

Any tips?

or if someone just felt like making it and uploading to patchstorage that might be even better 😇😂



  • @supadom Not sure if this helps, but if you can generate the chord in C, you can use the following to transpose the notes to any key.

    The output of the second Scale is the note CV with the octave stripped. You could add this to the notes of a C chord to transpose to any key. The Number adds middle C (C3), so this plays from C3 to B3 no matter what the input. Note that the Scale and Number values are both 0.125. The equations are:

    a = 8 * ( note + 0.5 )

    b = int ( a )

    c = a - b

    y = c / 8

  • @supadom

    “or if someone just felt like making it and uploading to patchstorage that might be even better 😇😂”


  • edited February 18

    Now you see it loud and clear, I get more kicks from playing than building 😂😬😇

    ...which isn’t quite the same when it comes to physical world.

  • edited February 18

    Ah Dave, it is a language I do not understand. Could be the limits of my brain or just unwillingness to participate, likely a bit of both. I’ve never gone into the whole maths part of Drambo. Sorry, with utmost respect to your good intentions.

    In fact I’d be more willing to buy an old Yamaha portasound and hook it up to Drambo!! That’s how bad it is!

    Having said that, I’ll try to replicate it and see what it does. Thanks

  • @supadom this is a brilliant idea! I have an idea for how it might work. Are there any references for how it’s implemented on the older keyboards?

  • So do I normally but circumstances are saying otherwise. 😁



    I've been playing around with being able to switch scales but this is a whole other level.

    Really cool. 😇

  • Ok @bcrichards so this video gives an idea of how it works. I didn’t remember this but it looks like the notes are actually being triggered by the arranger sequence and all the player does is to indicate the notes to be used.

    ...which screws a bit with the idea I dreamed up!

    I’d be interested to hear what your brain came up with when you first replied though ;)

  • So what you should be able to do is find the root note of the chord by using a midi to Poly and then 4 midi to CVs and some maximum modules. Then a couple of logic checks for black note, white note, and some way to tell the rack what to output when different checks are met. I’ll get back to you and welcome any help :O

  • Here's a good video on the 'auto chord' system on Yamaha PS's, it explains the key combos.

    (I starts at the time-stamp where chords are played, I have one of those PS-3's on a closet, love the sounds it produces).

  • This would be brilliant.

    I've been adding the cv sequencer signal to a knob or slider

    into a cv quantizer to modulate the tuning.

    I play in the root note in via the keyboard.

    This looks like it could be a really good solution.

    Very cool.

  • Yeah @bcrichards looking forward to seeing what you can come up with. ❤️

  • This is not quite exactly what you asked for, but maybe this moves us in the right direction or gives brichards some kind of head start.

    Instead of pressing 1 or more keys to select the chord flavor, you just play 1 key and it spits out a chord in the scale that you set it up for. So if it’s set up for C major, then C = C major, D = D minor, E = E minor, F = F major, etc.

    Directions for choosing a different scale as well as adding the 7th are in the patch. I think it all works, anyway. I haven’t tested modal scales or anything too crazy. Just major and minor.

    Anyway, I marked it as work in progress. Feel free to poke holes in it. 😊

  • This is great @Joe

    I don’t know what magic is happening with all those math modules but what comes out is great. Now I wish that scale knob could be modulated so I could hook it up to a cv sequencer or some more movement.

  • Might there be a way to have a modifier button that makes the default major chord minor?

  • I’m just poking blindly at all the cool midi modules

  • @joe 🙌🙌🙌

    im hitting some snags. Came up with a Cv note filter in the process (blocks out of scale notes instead of moving them to scale) and a black key and white key detector.

  • edited February 19

    Does anyone know how to make a switch between the two chord modules? I know how to do it with audio but not with midi

  • I think we need a CV controllable midi mixer module to do this. Otherwise you have to convert the midi to cv, switch it there, and then convert back to midi with a midi note generator.

  • edited February 19

    just an idea... what about outputting the chords to separate midi channels and then using the channel filter with its CV controllable channel dial?

  • @tk32 awesome idea!

  • edited February 19

    Just a quick note to say that early experiments with outputting different chords to different midi channels is working great, so I will also be attempting to build this patch for you (if my skills are up to the challenge).

    The next challenge is working out how to calculate precisely when the patch should switch from major to minor, and outputting this fact as a value of 0 for major and 1 for minor.

    If I can get this working it shouldn't be hard to also figure out adding the 7th and 9th notes.

    I'll post a working prototype as soon as I have one.

  • @giku thanks for making the midi mixer! But I think there could be some additional love for midi modules, like a midi n-1 switch. See tk32s work around.

  • How about a "Solo" input that works like the N-to-1 mixer index when that input is connected? (without connecting anything, the MIDI mixer would work as it does now)

  • That sounds great. Maybe cv controllable mutes like the reg mixer ( just for on/off)

  • Have a look at this.

    The root note is C.

    The switch button is mapped to a CC#

    The chords are approximately major to minor.

    Press the switch, instant chord change.

  • I hadn’t tried twiddling those scale knobs on the CV quantizers. That’s pretty fun with this, and seems like making them modulatable would be a good feature! And not just for this patch. I could see that being interesting in a lot of patches.

    The way this is constructed, I’m not sure there’s a way to have a button to make a major chord minor. However, I did just upload a new version where I set up a bunch of common scales on various scenes. If you activate the scenes mode it will highlight which keys are in the scale. “Bad” notes will be greyed out.

    The MIDI approach for the original request is looking good! Excited to see how this develops!

  • edited February 20

    I’ve hit a slight snag. I am using MIDI to Poly to split the incoming midi notes and process them separately, but I’ve found that the MIDI to poly just cycles through its 4 output slots (voices) rather than starting from the first slot each time there is a new note.

    Does anyone know of another way of splitting two simultaneous midi notes to I can process them separately?

    here’s a quick example of a patch that when you press C2 and B1 together you get a Cmaj7 chord.

    Midi mixer 1 receives midi from Midi to poly 1/3 and Midi mixer 2 receives midi from Midi to poly 2/4

  • @tk32 If you wanna process notes separately anyway, a MIDI note filter for each note might be more appropriate.

    Sounds bulky but I'm sure that won't eat much CPU.

  • edited February 20

    sounds bulky indeed, but I’ll give it a try.

    Secretly hoping that a future update brings more tools for carving up midi chords and processing the highest/lowest note as the root, and other notes as modifiers.

Sign In or Register to comment.