I’v been experimenting a little with simple ways in which to implement different tunings along with a sequencer. Instead of placing a quantizer after the sequencer one approach could be using a set of simple modules apply pure ratios directly to the sequencer knobs.
With Audulus, as with most modular systems, the sequencer ‘control voltages’ are typically quantized before being passed on to an oscillator. I was keen to try out tunings with pure ratios and at first thought of piecing together a just intonation quantizer. However, since the sequencer knobs are fluid, it occurred to me that I could simply put together a small collection of ratio modules and connect them freely to the knobs. In this way some steps might be purely tuned while others could be set empirically.
The modules have an inbuilt reference pitch of 440Hz – that means that the 3:2 ratio will produce a pitch a perfect fifth above 440Hz. If the input is connected to a keyboard (or other) source the ratio will take that input as it’s starting point. The modules can be strung together so that the output of the 3:2 module can be connected to the input of a 9:8 module for example – producing a just second above the pure fifth.
The attached patch (very much a tryout, with the inclusion of all kinds of other bits and pieces I was experimenting with along the way) demonstrates the approach.
Here's a pre release. I'll add a scroll feature to scroll through stored scales but this it so far. I kept it simple, I don't think there's any point messing around with lots of knobs. The idea is to plug your own scale in internally. The scale is displayed on the front panel and I'll do the scroll next to scroll through stored scales. You need to adjust the knob internally to reflect the number of ratios in the scale which stretches an octave to modulate those ratios and it sets the transpose limits. The transpose modulates up and down the ratios. The root note is set from the key you want it in. This shifts the whole scale along the 12ET scale (maybe it would be useful to make this ratio as well)..
@jimbo interesting, what tunings will you be including in this patch, could you implemenet some tunings if i requested a few? Ive been interested in using audulus with microtonal tunings but I'm not that fluent with audulus.
I was thinking of putting in just intonation scales and then I'd have to revisit the world of microtuning, for some otherworldly scales. Post your ratios, it could do with a few stored inside. Inside the patch, the very top values are the scale ratios. You could copy-past them to store and edit in your own ratios. It would be good to collect just a few scales to try out a scrolling mechanism which may be a bit costly on the cpu when they're easy enough to plug in manually really. Will try it though.
Ha, hang on, as soon as I've put in the missing equation. That was strange, I didn't notice. I need to use this equation 1000*log( x/y )/log(2) where x/y is the ratio. Just got to work out how to write that in the expression as it doesn't take it like that. I'll take the patch off for the time being.
I'm busy working on a little module with with the idea of making each of the quantized chromatic steps easy to adjust individually – a knob for each step. At first I thought of building it into the Audulus scale quantizer, but now I'm thinking that it might be best to leave the quantizer as it is and then adjust the quantized values in a module on its own as a second step.
While getting that all figured out here's a quick demo of the approach mentioned at the top of this thread – now with the addition of a micro-module for making adjustments in cents alongside the ratio micro-modules. There's something about working with a loose collection of modules that appeals to me. One can move off in other directions without always having to think in terms of consequent scale structures.
Ok, here's my adaption of the scale quantizer into a scale bender. Input values within each equally tempered semitone can be shifted up or down by up to 50 cents. It's no longer a quantizer so if the cent setting should deviate from equal temperament then it's necessary to place a quantizer in front of it. Without a quantizer (or equally tempered keyboard) the input values are simply offset by the cents setting – i.e a glide within the range of a particular semitone will also glide. That could perhaps be put to some fun uses.
In the demo patch one can shift between an automated and a manual quantizer preceding the scale bender.
For the fun of it, here's the bender without a quantizer in front of it, being triggered by an LFO sweeping across the range of an octave. (The range control can be used to centre in around a particular section if the octave.)
The bender sweeps up and down with the LFO but on approaching the next tone falls back and retriggers from the previous semitone. The quantizer after the scale bender is included simply to help visualise this.
Here's another little diversion, something I hadn't thought of. Sweeping through a pitch range without all the steps of the quantizer activated creates a rhythmic pattern – and if the pitch range doesn't match the number of notes exactly that can lead to interesting rhythmical unevenness.
Different (phase or frequency modulated) waveforms can be fun too.
The knobs of the Scale Bender have a range of -50 to + 50 so that one can type in precise cent values manually. I’ve now added external 1/o inputs so that the bending can be controlled from external sources.
And to test that out I’ve put together a quick detuner with three LFOs running at slightly different speeds and ranges. It still needs some work, but demonstrates the basic idea.
---
Update: I've replaced the Detuner demo with an updated version that has some internal improvements/fixes and also includes a reset input that takes all the LFOs back to their starting point.
Thanks so much for sharing this stuff Rudiger! Have been following the progress on your blog too :) And lol yes you can do some funky things to the ADSR node's graphics when you input large and/or negative numbers. Glad you got into this after the Aphex Twin interview thing, I saw that and was inspired myself. I think I need to tune my ears more to microtuning since for the most part I use to think it was more from just a poorly tuned instrument (in a good lo-fi way, though!).
I've now added a set of extra external inputs to the scale bender so that scales can easily be constructed using the little ratio micro-modules. With three or four of the micro-modules one already has a number of possibilities at hand, and they can also be stacked on top of each other – i.e. the result of one ratio can form the base for the next. (One can provide a specific base (c.v.) value for the scale – if none is provided the micro-modules default to A = 440 Hz.)
Looking at the video for the latest C.V. Toolkit update I was inspired to also include a micro-module for fraction based intervals. To start off I've only included one for the octave divided into seven equal parts but that could easily be adapted for other fractions.
I've included a quick demo of a pythagorean scale and, with Mozambican Timbila music in mind, one with the octave divided into seven equal parts.
Looking through a (physical) folder dating back to my student days many, many years ago, I came across a 40 page printout of tuning systems. It seems quite comprehensive: Ancient Greek scales, Indian modes, Werckmeister, Rameau, lute and bagpipe tunings - even Xenakis’s Byzantine Liturgical modes. Wendy Carlos is in there too.
Some of the scales are expressed as ratios, others in cents.
Here’s a scan of the printout. I ran a quick OCR on it so it should be searchable to some degree.
A small update to the Scale Bender – the cents deviations shown when using the ratio inputs are now octave independent.
There are some strange minor discrepancies in the displayed values though. An equally tempered D# (0.25 1/o) in the 0 octave range will display a 0.1 cent deviation whereas in the other octaves it displays 0 as expected. Perhaps I need to take another look at how those values are calculated. Other than that all seems to be working just as it should though.
Oops! I set about making a micro version of the scale bender and discovered two internal connections were missing. I’ve updated the patch above with the fixes.