Home | ER-101 | ER-102 | ER-301 | Wiki | Contact

Octave Quantizer?

I’m getting stuck with assignments. I can add controls to a custom unit but I can’t figure out how to assign those controls to parameters in units or how to assign a cv input, say A1 to a custom unit control.

Also regarding the octave quantizer, I think I have it working correctly but I’m not getting the results I was imagining.
Basically I’ve been using the octave control on my sequencer to make a manual loops (sharing a buffer) shift up an down octaves along side a melody. It’s amazing.
But what I’m trying to achieve now is not to use my sequencer for octave control, instead have another cv source like a synced lfo get quantizer into octave shifts.
Sine = 0,1,2,1,0,-1,-2,-1,0 oct
Saw = -2,-1,0,1,2,-2,-1,0,1,2 oct
Tri = -2,-1,0,1,2,1,0,-1,-2 oct
Something like this anyway, hope it makes sense.

And thanks so much for helping me, really appreciate it.

I’ve thought about doing one of those written tutorials on the basics of a custom unit, but I want to hold off until 0.4 comes out to see if there are any big changes to custom units.

Let’s say you create a custom unit linear control called lin1. If you want to assign an offset coming in off of A1 to lin1, then enter the subchain for lin1, and at the front of the chain, press the Source (the little graph display) on the far left and choose A1 as the source, just like you’d assign it anywhere else. When you come back up out of the subchain, remember to set the gain (you’ll likely want 1.0 but whatever works in your context) for lin1's subchain. You can also set bias if needed.

To assign the lin1 custom control to control something within the unit, go into the subchain where you want to make the assignment. At the front of the subchain, again press on the Source graph display, just like you were going to assign ABCDx. You’ll notice in the lower display, it says Inputs, Globals, Locals. It looks like this:


Press the M button until you get to “Locals”. There you should see all of the custom controls you’ve created. Choose the one you want (in this example. lin1). When you come back up out of the subchain, remember to set the gain for the control you’re modulating so that lin1 has some effect on it.

Let me know if that’s not clear and I’ll try to grab some screen shots.


Fantastic! Thanks joe :smiley:
That makes sense. I think I did it this way but messed up the gain somewhere. I’ll have another shot at it after work.
This little description will help immensely.

Remembering to set the gains is what left me scratching my head at first. Eventually it becomes second nature.

1 Like

So keen to clean up my Frankenstein custom units into proper units I can share. Thanks again!

1 Like

So I’ve had lots of success creating custom units, thanks so much for the help, it’s opened up the 301 so much. But I havent been very successful creating the the octave quantizer imagined. Instead I’ve been thinking something like the ALM Beasts chalkboard or better still this:

Would there be an easy way to do this with the existing units?
Or better yet would you be able to code something like this?


You would need to step through a bunch of offsets

1 Like

Oh that’s an idea, offsets and a sequential switch. Is there a sequential switch unit?

Have you tried the Voltage Bank bespoke Unit in my library? The voltages you store in it could be octaves, and it does include a precision adder with the input signal if you enable it. I think it would get you pretty close to your wish. See video for a demo.


I missed this! Looks great. :clap::clap::clap:
So if I store say -2,-1,1,2 octaves from my beasts chalkboard, I could switch between them using a gate or sequencer? Brilliant!!!
Will be trying this as soon as I get home from work. Thanks!

Sure, or just use an internal offset to store values of -0.2, -0.1, 0, 0.1, 0.2.

1 Like

So I see we are now talking about an octave sequencer and not a quantizer. I wonder what went wrong with your quantizer attempt?

Also, don’t forget that you can just record a CV sequence and play it back as internal modulation. Slice the recorded CV up for even more control.

Pro Tip: If you use the Raw Player for the CV playback, CPU usage will be very low.


I’m a little confused about the end goal myself. Hoping we get to hear an audio demo of what the result is! :slight_smile:

Yeah I had trouble getting the results I was imagining but after some time pondering I think an octave sequencer is the easiest for what I’m trying to achieve. At first i thought I could make an octave quantiser and just use clock synced lfos to create the shifts. This would still be amazing if I can figure it out so i may keep trying.
The reason I’m trying to do this is I love the sound of musically related pitch shifts, particularly octave shifts, in delays and loopers. Think Chase bliss audio Thermae, Mannequins W/ when doubling or halving the speed or Monome MLR speed control patterns. I currently use my beast chalkboard to manually do octave switching to my sample players but I’d prefer to free it up for standard VCO duties.
Am I on the right track?

Here is my first attempt using a track from Kria to sequence just the octaves:

On a side note, one day I’d love to see a unit or control that is only musically related values like this:
So if Im changing the speed of sample player from 0 to 1 octave or 0 to a 5th above it just switches to those values. It would be a truly wonderful addition.

1 Like

Check out Frequency Central Trans Europa !

1 Like

But this is what quantizers and sequencers are for…:thinking:

But Im trying to achieve this as a live control not as a pre programmed one.
As I perform my patch I like shifting octaves manually and/or via modulation. I really enjoy using my triatt’s and voltage block to control parameters within the 301. Having a parameter I can quickly change octaves would be what Im talking about. Would be great to have an octave parameter on the vco units and any unit that has an octave parameter. A unit that is purely an octave shifter would be great too, something similar to the beast chalkboard but with a larger octave range.

Originally creating an octave quantizer was how I thought I could add this parameter to custom units. Just drop the octave quantizer on the v/oct input and assign its control and you have octave shifting.
Would there be a way to make the offset unit into an octave shifter? I cant remember if the offset parameter can be modulated, hope so.

Joe’s Voltage block unit is a really great (Thanks @Joe) but for this it requires a lot of setup time. Ive also noticed if I set up my voltages then copy the VB to another unit I loose the captured voltages.

I think it would make sense having this unit in the arsenal but I completely understand how busy you are and if its not part of the 301 vision.

I’ve had success quantizing to a string of linear values (-2, -1, 0, 1, 2), but I’m wondering if it is possible to quantize to -2, -1, -.5, 0, .5, 1, 2 using just the pre/post controls in the grid quantizer? I’ve spent considerable time guessing, and figured now it’s time to consult the collective brain. Probably some simple math I’m overlooking?

1 Like

4 posts were split to a new topic: Pitch tracking issue with Keystep 32

A post was merged into an existing topic: Pitch tracking issue with Keystep 32