My favourite dirty octave down (analogue style)


I wanted to port my favourite dirty octave down algo which I’ve been using for decades in Max and I love the sound of… any advanced SC users might have comments and improvements on this but hey, have fun! Obviously tweak the low pass to your pleasure, independently.

	var source =,mul: 0.1); // dirty test to show how it works
	// var source =; // real input: remove DC and higher harmonics
	var upPhase =;
	var invPrevPhase = 1 -;
	var trig = upPhase * invPrevPhase;
	var alternatePhase =,-1);
	var octave =*alternatePhase); // remove higher harmonics here too
	// [source, octave]

Similar to how the old Boss octave pedals worked :smiley:

Josh Parmenter

1 Like

indeed this is what I emulated in Max :smiley: The code was a lot dirtier there as you can imagine! It’s been in half of my pieces and my live patch since… 2001 ! (I’m so old :cry: ) Now in glorious SC :slight_smile:

the boss also has a boosted clipper at the input I think (to get that square wave) - easy to add!

1 Like

It sounds good and very playful to tweak

    var source, freqMod, ampMod, complexWave, env, smacMy, bitchU;
    var upPhase, invPrevPhase, trig;
    freqMod =!2).range(2, 150);
    ampMod =!2).abs;
    source = +;
    bitchU = Mix.fill(12, { |i| source * * (i + 1) * 1.059, 0, ampMod / (i + 1)) });
    upPhase =;
    invPrevPhase =!2) -;
	trig = upPhase * invPrevPhase.abs;

    smacMy =,-1);
    ///////////smacMy = bitchU ;
    smacMy = smacMy + (0.1 * * source * alternatePhase, revtime: 5));
   bitchU + smacMy  * 0.2

Just the right amount of dirty

1 Like

@tremblap , share the original piece, I’d be glad to hear and listen to it

The piece from 2001? Actually there is a piece from 2003-5 that has it in Max that has been re-recorded by a younger drummer, that might be simpler to find :slight_smile:

1 Like

if its about octave shifting you could also track the frequency of the incoming signal and ring modulate it with a transposed version of that frequency, a factor of 0.5 will transpose down one octave for example.

it doesn’t sound as dirty - and is more prone to freq estimate errors - I LOVE the old boss hence this code…

1 Like

yeah thats cool. just wanted to add that approach to the conversation :slight_smile:

1 Like