Inspired by a question by @benniii here’s a nice custom unit that implements a slope detector, it’s not perfect but it’s pretty darn close!
cv1 == your incoming signal (S) that you want to detect a change on
cv2 == an external clock - this could be the output of another channel on your ER-301 - it needs to be just into audio rate to work effectively.
Inverting the incoming clock signal on one of the channels makes the S&H Units sample the signal (S) alternately.
S&H Output (SH1) > Mixer channel 1
S&H Output (SH2) > Inverter > Mixer channel 2
This cancels the incoming signal out except where there is a change in pitch, i.e. the alternating S&H triggers allow for a small time difference and therefore a signal output when the difference is there.
A VCA boosts the signal a bit, and then an Envelope Follower acts as a signal rectifier. Without this some of the output signals (when changing from a higher to a lower voltage) are negative and won’t act as a trigger.
Place the Slope Detector in the trigger of a Sample Player Unit to trigger a sample whenever a pitch change is detected. You could use the sample player to output a well formed trigger, gate or audio.
slope-detector.lua.zip (1.3 KB)
Very clever thinking here, @anon83620728! I think I’ll be able to make use of this when my 301 arrives! Looking forward to trying it out
Cheers @Joe - this was a fun one for sure!!
Definitely a case for a Rectifier Unit here I think
I guess at some point there will be a proper slope detector unit too - no reason why not, but I reckon thinking about these things using basic building blocks can be very educational!!
I agree. Definitely educational to go figure out how to build something from available tools. Knowledge is power! It’s really neat to see that there are already enough low level units in the 301 to be able to create some higher level custom units to suit a custom need. I guess as more low level factory units are added, this just increases the ability to build more sophisticated customs.
Of course none of this is helping my 301-jones/anticipation.
Cool stuff here - thanks for sharing!
I’ve been playing around a bit more with this, it’s critical to get the incoming clock at the right setting, to slow or too fast and it won’t work!
I also tested it with a simple offset, it works really nicely and can be very sensitive to change with the right settings, by that I mean as soon as you move the offset a trigger occurs - really useful!
I first tested it with a sequence and the clock rate is less critical in this application because there’s a momentary jump in the incoming signal. Smoother changes, for example slewed signals don’t register when the clock is too fast because there’s too little time and too little difference for it to make the registration.
You can also make it a bit more robust by adding a Limiter Unit after the Envelope Follower (Rectifier), boost the input by about 30dB and make a -5dB cut on the output to get a nice even strength signal and greater sensitivity to change.