This is an instrument heavily based on the Moog Subharmonicon, rebuilt for A4 after my older A3 version.
In short, it takes a fast clock and divides it 4 times by integers between 1-16 to create 4 slower clocks. These can be combined to generate polyrhythms. The combined clocks drive 2x4-step sequencers which go to two sets of oscillators. Each set contains a primary oscillator and 2 sub oscillators, which divide the pitch of the primary by integers between 1-16, producing interesting chords based on subharmonic intervals. Mixers, filters, VCAs and reverbs follow.
For more information on the polyrhythm and subharmony aspects, refer to the literature on the hardware.
Significant differences to the hardware:
Expanded Quantizer with ability to change root note, scale, and optionally tune the subs.
Expanded sequencer functionality (1-4 steps, forward reverse probability, modulation for each step).
Independent filter and amp sections for oscillator 1 and 2 (with ability to link controls).
Stereo width for oscillator 1 and 2.
Ability to decouple the gates from sequencer 1 and 2.
PWM setting replaced with a different oscillator shape (I wasn’t enjoying the PWM setting).
PWM input in the patch be replaced with oscillator sync (as I haven’t figured out how to PWM my splined square wave yet).
Patch Bay removed in favor of locating the I/O throughout the UI next to their source elements.
Gate logic (OR/XOR) modes (implemented in midi on hardware).
Reverb (uses a lot of CPU so turn the mix knobs off to spigot if not required).
A small detail about the 2 just intonation settings in the quantizer – the ratios need to be made in the frequency domain, and then converted Hz2tOct. for them to give the correct results. I’ve made the changes in the following patch:
Actually I’ve been thinking that it would make sense to split the Scales from the Temperaments they might be passed through, and make a little ‘Temperaments’ Tile/Module with Werckmeister, Kirnberger, JI etc. That would enable the root of the scale and the temperament to be set differently and open up for exploring the sonic different areas of the temperaments.
@RudigerMeyer, here’s a module with quantizer + temperaments combined into one (and easily separated). What do you think?
I am admittedly conditioned by rock-and-roll, only dabbled with alt temperaments, nothing too adventurous, read about it more than I have experienced it. So mostly I recognize the value. I always feel like this area of exploration is futuristic…
Mostly I see what you did – a lovely way to make it happen here. Notes about this version:
Uses the two stage setup like you mention, stage 1, scale+root, stage 2, temperaments, same format as your last post.
Redid the conversions for your temperaments, you probably just hadn’t got there, otherwise heavy on CPU. Not sure if the extra input port per ratio was the intended method for changing root – have to take another path if so.
Updated scales list to use Spigot node selector instead of muxes. (This because of recent discoveries: one, spigots will output the correct channel count for the current scale, whereas mux outputs the max channel count from all inputs; two, which also allows eliminating the extra channel count per scale submodule + port and the mux required for it; and three, potentially solves another issue I have seen recently where Channel Count node drops to 0 on a change, creating pops/clicks (not good…). Doesn’t happen all the time, though, might be a poly related issue. Still testing.)
That was just to get the second quantizer to select correctly – otherwise it was pushing down to one scale step below what was intended, so it had to be nudged up a bit. A quick fix.
Wow, that was quick. Nice!
Unfortunately I’ll only get to take a look at it this evening. Looking forward to that.
Yes, I’m sure the internals could be done more efficiently. Actually, those little ratio modules are something I’ve been using to ‘tune’ sequencer knobs directly – that way one can get perfect tunings on the fly without being constrained to a predetermined scale or temperament. And the input is so that they can be stacked together, I find that it works very well with something like the 5x5 sequencer, for example. So I simply re-used them to set up the proof of concept.
Thanks @RudigerMeyer! Both for the heads up and the fix. I haven’t played with just temperaments much before so my ear obviously didn’t know what it was listening for . It now sounds much better.
I’ve added your fixed quantizer to a new version up top.
It might be cool to have some other temperaments in there, especially since the subharmonicon is such a good platform for exploring other note relationships. if you and @jersmi come up with an implementation you’re happy with, I’ll try and build it in
There were some things that weren’t connected up correctly internally – fixed in this patch with it hooked up to a sequencer.
Actually I think that it remains a good idea to keep them separate – or at least be able to toggle the temperament section on and off. Sometimes one might want to have the good old equally tempered 12EDO scales – as the scale module is in its current form – without colouring it further.
Here’s an example using the little ratio tuning modules connected directly to the knobs of the 5x5 sequencer, with some freely tuned micro deviations around them. Mix and match.