Hey all: just put together this thing…it’s really nothing more than a patch that plays the chromatic scale at random. While I was putting it together, though, I was wondering: are there simpler ways of doing this? Are there alternatives to mux and demux?

Thanks for your help as always.

Random Chromatic Synth.audulus (18.6 KB)

1 Like

The simplest approach to creating a Random chromatic scale is to take the 0-1 output of the random generator you used and quantize it into semitone values on the 1 per octave scale.

Most of the oscillators in the module library use the 1 per octave scale rather than raw frequencies. For this scale 0 is usually A 440 with 1 being one octave up, 2 being 2 octaves, -1 one octave down etc. Using this scale 1/12 equals one semitone, 2/12ths is a whole tone etc. The chromatic quantizer in the module library does just this. If you examine the expression within the node:

`floor(x*12)/12`

, you will see that it multiplies the incoming value by 12 then takes the floor() which gives you the whole number part of the value. It then divides this by 12 to give you a semitone value.

At this point you now have a random semitone value. You can use an expression node to lower the value one octave by subtracting 1, convert the 1 per octave value to hertz using the converter module (again just an expression node repackaged for convenience) and feed it to the oscillator node, a level node and the speaker. Alternatively, using modules from the library you can use a basic oscillator module set down 1 octave and feed it to the mono output module. Really the part from the quantizer to the output is the pretty much the same either way, but the pre-built modules certainly can save you some time. I would recommend the excellent tutorials available, and its always good to build things from the basic nodes until you get an understanding of whats going on, but once you’ve got the basics, the prebuilt modules can be very convenient. It’s also very educational to figure out how they work.

Random Chromatic Synth simplified.audulus (38.9 KB)

3 Likes

Hm…okay, I think I can see what you’re saying (don’t mind me, just being a noob here, haha). Thank you very much for the feedback, and the simplified patch file!

3 Likes