Squinktronix Harmony discussion thread

Do you mean something like a common tone?

Maybe this could be achieved by a gate input, that as long as it stays high the first highest note after the gate goes high will stay with the following chords and define that all other notes must be below that?

I don’t know how well that would work / sound, a lot of those harmonization-skills are far beyond my knowledge… I personally would like to see some more jazz (read 7th, 9th, 13th) in a harmonizer module, but that requires so much knowledge or simply trial and error until something useful comes out. Even with Scaler 2 you really have to try different voicings to get a smooth chord progression, and I don’t know how to get that into a module.

1 Like

So, Harmony quantizes the root note to ~C3-C5 range, right? What is the primary reason for doing that rather than allowing the root to set the octave of the chords? Is it primarily so that the module can display the chords nicely. If so, you could do what I did in the most recent Meander version (which supposedly passes Linux build now so should be in the library any day now) where I put “C4” on the score view middle C line as shown below. You could always display in the ~C3-C5 range but designate the the played octave with a middle C octave designation. I can imagine cases where root or trigger changes in the middle of a bar making it difficult to draw all notes consistently.

Allowing the root to specify octave could allow even more variations on a theme. I simulated this by putting a MERGE after Harmony and sending the poly output to OCT and manually or via sequence change the octave of the chord notes on the fly. A bit of care has to be taken with this kludge approach to only change the octave between played notes or on the beat so strange octave jumps do not occur off beat or off measure or off whatever.

Edit: The MERGE is not necessary. I forgot how poly works in Harmony.

C4 Middle C

No good reason really . When I wrote it in 1993 that’s what it did. It does limit all four voices to a plausible range for bass, tenor, alto and soprano, but it could still shift them around. The voice leading wouldn’t always be correct in that case, but it could be good. Have to ponder.

Sequencing the OCT octave on the beat works great. I can use this technique even if you choose not to allow the root to define the octave.

For this I use a Count Module SWITCH 8-1 with valid OCT CV values as encoded in a NYSTHI FIXED VOLTAGE SOURCE. I have been on a kick of mapping my favorite modules CV controls as to what CV is required to generate a specific CV or action. I enter these valid voltages in the NSYTHI FIXED and then feed those as desired to the inputs of the SWITCH 8-1 and then clock at a rational speed, usually some nice multiple of division of my primary clock and send to a module CV input. In the past I would typically use an LFO to vary the CV but this new method is absolutely predictable as to what is happening when. It is more of an eigenstate and eigenvalue pure quantum state approach.

I then typically sequence the sequential switch eigenstates.

1 Like

In my original incarnation of Meander for Windows, I supported 17 types of chords, including: 7th, 9th, 10th, 11th, 13th. I did away with those in the VCV Rack incarnation of Meander as it seemed almost impossible to do generative music using these chords without it sounding horrible, at least occasionally. Even the 7th chords are problematic and I have very limited support of 7th chords in Meander these days. I’m not jazz music theory knowledgeable.

Super important Q: I think I sometimes call this new plugins “Squinkytronix” and sometimes “Squinktronix”. Neither is great, but which is better?

I started adding some control for the repetition avoider. The one that’s fixed at 8 notes now. What should I call it? what settings should I allow? Here I made it 0 to 8 on a context menu:

“Squinktronix” (To save space, maybe drop the last i - “Squinktronx”) That sounds more formidable/important to me

“Squinkytronix” sounds toy-like to me

Yeah, that concept is a bit tough to capture concisely.

How about “No Repeat Depth”

As far as the retrig option, I’m thinking the default should be harmonization change on root change or CV trigger. So if the trigger input is empty, it continues to work.

Then the option could be labeled “Change on CV trigger only”, which would be off by default. If enabled then root V/Oct changes would be ignored until a trigger is received.

good stuff. I already (well, last night) made it so voltage always works when the input is not patched. But your term is good anyway. will try this.

And, yes, get rid if the y in the name. I have to confess I’m partial to the “i”. Which I think is an homage to the Tektronix company.

[ oh, next I guess I need to make those new options for depth actually do something…

It’s an interesting idea. It couldn’t be Harmony, because it is really all about common practice harmony. It seems one could generate other chords with a module that is a little less “smart”, but more flexible.

One vote for Squinktronix.

1 Like

It would definitely still be a form of harmonization - just with a different bent. Or are you saying jazz doesn’t use harmony? :wink:

I think it all comes down to semantics and cultural reference point.

You might consider adding a context menu section (submenu) where you could have a list of additional chord forms that could be enabled individually. Sometimes “horrible” might be just what I want to hear.

Oh, for sure. I meant “it won’t be the module I call Harmony because it might be very different inside”.

Yeah, that is what the original Meander for Windows did. The extensive code for supporting all of those different chord types in Meander for VCV is long gone. Well, I still have the Windows code, but…

Ah - that makes sense. A great example of how there can be multiple reasonable interpretations of the same words. Perfectly harmless in this case.

But it is easy to see how a different set of words with multiple possible interpretations can lead to hurt feelings and angry words. The ever present risk of language limitations.

So this is doing what I always do in Rack: If one of something is good, two is better.

So two Harmony modules: the soprano voice of the first feeds the root note of the second.

Everything controlled by an 8Face, that switches Harmony Settings and Sequencer pattern at the same time. The bass line is offset with a signal delay and thinned out with a 1Pattern.

If I decide this is a thing worth finishing into a track, I’ll clean up the presets that make unfortunate modulations.

2022-04-01.vcv (12.4 KB)

https://cornwarning.com/chaircrusher/Chaircrusher-Rapini.mp3

3 Likes

I think this sounds good, although of course I’m biased! I notice you are using merges on the output - but the version of Harmony you are using has the feature you suggested. If you yank out any output connections the next ones become poly. At the moment it’s always on. I haven’t yet heard a reason to turn it off. I guess if I did it would be “chaircrusher mode on/off”?

I wanted 8 notes. So I merge two of them.

Oh! Cool. I’ll bet someone makes a poly merger, but I always reach for the VCV. modules, too.