Is there a chord module that makes minimum movement chord changes?

I don’t use a lot of modules because I couldn’t figure them out before I ran out of patience. So that limits the domain of modules to test somewhat. :grin:

I know what you mean. But, I never did figure out how to balance work and play. Over my 40 years as a systems engineer and developer and R&D, I somehow always managed to turn my work into my hobbies and my hobbies into my work, so I would end up working on similar things all my waking hours. That was not always good for my health. Burnout was always an option and real possibility.

Meander has its roots in 1988 when I was doing semiconductor wafer fabrication plant modelling and simulation. In the daytime I developed wafer fab discrete event simulators and at night I developed music composition and performance discrete event schedulers and handlers. Prior to that I was doing expert systems at work and also Meander became an expert system.

So now being retired, I’m still doing the same thing and mixing music with theoretical physics.

5 Likes

I’m sorry man, your post created an itch that I needed to scratch. :smiley:

I patched this up to try to get to what you are after:

Here is the VCV selection file:

Voice Leading.vcvs (13.9 KB)

It works quite well. So you just need to set the scale you are working in, set the low cut range note and high cut range note. If a note goes above the high cut it drops it an octave and if it goes below the low cut, it raises it an octave. Keeping all notes within a certain range.

I don’t have VCV chords, but you can just replace the bogaudio stacks with it.

3 Likes

That’s really cool! I adapted this and had Meander supply the chords. Sounds very good, but, should this constrain the chord notes to C4-B4 as you show it above? It is not for me. I’m probably doing something wrong.

Or does this only handle a single octave input such as from TWELVE-KEY?

I think the issue is that it can only handle adding or subtracting 1V but the notes could be in a higher or lower octave and require multiples of +/- 1V.

Hi k-chaffin. No you can adjust the high and low cutoff as you wish. I was just playing around with low at F3 and high at A3, which is a really small range and it worked with the setup above. I might have been a bit over eager and never tested it properly. If you are using meander in a different scale to what is in the first quantizer, it might not work as planned. I haven’t quite solved that yet.

Yes sorry, this is correct

What I am saying is that I am using the C4-B4 range you used in the selection patch but it is outputting notes outside of that range as I feed meandiering chords to it.

I’m feeding the Meander poly external scale output to Grande Quant so that the current Meander scale will be used. I don’t need to change the low and high cutoffs per scale do I?

Oh, okay, I see your last post.

I would use this selection patch if we could get it working for triad chord notes in any octave. This seems to be what @chaircrusher is wanting also, I think.

Tetrad 4-voice chords would be fun also, in order to do what @Squinky 's Harmony module does.

2 Likes

Yes, you’ve got me thinking now of sample and holds and octave modules to try and solve it. But I’ll keep tinkering.

1 Like

I’ve done some strange patches that used 36 comparators to do a single task. Almost anything can be done. But, hopefully this patch would not have to be so complex. :wink:

1 Like

I’ll give this a go! Using compares to keep the notes within the same octave is a good first approximation. Once again I’m reminded how good it would a sub-patcher feature where you can encapsulate stuff and define inputs and outputs.

1 Like

You mentioned Max/MSP above. I actually ported Meander to that platform about 5 years ago. I was able to “encapsulate” functionality into a container with inputs and outputs and internal Javascript code. And call that from Ableton. Actually, I used Max for Live for that. One nice thing about that was I could work with the encapsulated container full screen, but then just see a small box container with inputs and outputs. It would be nice to have that type of capability in Rack. Of course this is similar to Prototype, somewhat.

Surprising there isn’t a module that just does this, It would be pretty simple.

Ok so here is Version 2:

Voice Leading2.vcvs (18.1 KB)

This one works a bit different. The range is always 1 octave, which you can set on which note the low cutoff is, the high cutoff is one octave above that note. (Its best to play around with this, as it can give different voicings depending which note its on.) There are no more wondering high or low notes anymore because everything is clamped to that octave.

It is currently set to a 4 voice chord (7th), but if you want to use triads instead you would need to right click the MERGE module and set the polyphony to 3, and also rotate the dial on the polymult (next to Chords) to 3. I’ve also added a 5th voice (for those nice add9 chords), so MERGE to 5 and Chord to 5. You can check this with the last QNT, if its playing the right amount of notes. If you set these two differently, not all the notes will be clamped. So if you set MERGE to 4, and Chords to 2 for example, only the root and 5th will be clamped, the other 2 notes will not.

You can just replace the Twelve Key with any sequencer that supplies the root notes. But if you want to use a module that already creates chords (like Meander), just replace the entire blue square above with it.

Sorry for the long writeup. Please let me know if it works. I haven’t tested it properly yet. But so far, so good.

3 Likes

Cool. For me, triads are working fine, but 4-voice chords from Meander (created as the triad plus the bass note raised an octave) do not. I guess there is some place in this that expects the tetrad to be a 7th, which it is not in my test case.

I’ve just simulated that and yes, you are right, it lowers that raised bass note back down. So if you are playing C3E3G3C4, it would lower the C4 back down to C3 because it is outside the range (which is an octave). This means the 9th won’t work either because it’s going to lower it to the 2nd. So this would only work with chords which notes are within 1 octave. Damn, I really thought I had it this time. But those close note chord changes sound so nice…

In my case. C3E3G3C4 is being changed to C3E3G3C#3 etc. .or some such. That dissonant C3/C#3 really is noticable.

That is weird. Did you change the channel count on the polymult to 4?

Yep.

Oops, my dumb mistake. I was shifting the root by 1 semitone rather than 1V due to my misinterpretation of a constants module. It seems to be working fine on my tetrads now. Sorry :crazy_face: Except it is confusing since the last QNT cannot display the 2nd C an octave higher. But, that is just cosmetic. Displays fine in FOUR-VIEW.

And it does lower the raised root back down to the starting point.

1 Like