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

Creating a CV Deadzone Window


Hello Friends,

Is it possible with the 0.4 units to create a CV Deadzone window like the following (Maybe even with a smoother interpolation instead of a discontinuity)?


I have tried with the deadband filter but it is designed for another purpose (will continually create a deadzone in steps).

One might find this useful in assigning sweetspots or only modulating a control beyond deadzones.


Ok I’m halfway there.

CV Source -> [Track & Hold {Gate <- (x)}, Type: low]

  • (x) <- [Bump Scanner]

It will create a deadzone at the width of the Bump Scanner. My only problem now is setting deadzone value to 0 instead of last Bump Scanner min/max and eliminating the discontinuity.


Have you tried putting your graph into a sample and then loading that sample into a Sample Scanner?


Hi Brian. Thanks for your reply. I think that is the solution however I was hesitant to try it. Joe’s video on creating a stepped quantizer transfer function (all within the 301) was useful as a guide but i am struggling on drawing something more continuous?

Does the forum have a favorite tool to draw arbitrary functions? I had tried waveedit and other online single cycle wave form editors but I find they mostly only allow me to draw with a mouse pointer. Are there any tools that allow drawing with formulas (like a graphing calculator?).

I know based on the docs you are working on tools to help create LUTs and such so this might just be a temporary hurdle after all.


Personally, I would use a scientific computing environment, like Octave or SciPy. Both of these environments let you describe and plot arbitrary functions and have ways to write data to wave files.

Oh, and I guess Audacity has a drawing tool: https://manual.audacityteam.org/man/draw_tool.html but I’ve never used it.

However, I bet my suggestions are outdated and there are even slicker tools now (Julia perhaps?). Help please!


Great suggestions. I use python a bit and searching on google has led me to the following. Will give it a shot this weekend.



import wave
import struct
import math

FILENAME = "wave_table.wav"

WAV_FILE = wave.open(FILENAME, 'w')
WAV_FILE.setparams((1, 2, 44100, FRAME_COUNT, 'NONE', 'not compressed'))


for i in xrange(FRAME_COUNT):
    for ii in xrange(FRAME_SIZE):

        VALUE = math.sin((float(ii)/FRAME_SIZE) * (i+128)/256 * 2 * math.pi) * 65535

        if VALUE < 0:
            VALUE = 0

        VALUE -= 32768

        VALUES += struct.pack('h', VALUE)


print "Created " + FILENAME