Doepfer: Passing CV only if within a certain range

Post your patches here! Put the format(s) in the subject.

Moderators: lisa, luketeaford, Kent, Joe.

Post Reply
User avatar
oblis
...sigh...
Posts: 389
Joined: Thu Nov 04, 2010 8:22 pm
Location: New Orleans

Doepfer: Passing CV only if within a certain range

Post by oblis » Wed Dec 18, 2019 10:13 am

This doesn't necessarily apply to just Doepfer modules, but I'm building a primarily Doepfer system and thinking about currently available modules I might get that would allow me pass a CV, unchanged, only if within a certain range...holding the voltage otherwise. For example, passing a random voltage only within certain bounds or picking off only part of a sequence, etc. I "think" the following would work using the comparator offsets to define the lower and upper limits, which then trigger the S&H when within the limits. Unfortunately the comparator is no longer available. Any other ways to do this with available modules?
Image

User avatar
patched
Common Wiggler
Posts: 59
Joined: Mon Sep 23, 2019 12:42 pm
Location: Sweden

Post by patched » Wed Dec 18, 2019 11:06 am

How do you want it to behave when the CV is outside the bounds? Should it be clamped to the range, or should it give 0V?

User avatar
BananaPlug
Super Deluxe Wiggler
Posts: 2529
Joined: Wed Dec 05, 2007 10:37 pm
Location: PHL USA

Post by BananaPlug » Wed Dec 18, 2019 11:44 am

Unfortunately the comparator is no longer available.
There's this: https://metabolicdevices.com/2win/
(two window comparators in 6hp)

User avatar
oblis
...sigh...
Posts: 389
Joined: Thu Nov 04, 2010 8:22 pm
Location: New Orleans

Post by oblis » Wed Dec 18, 2019 12:33 pm

patched wrote:How do you want it to behave when the CV is outside the bounds? Should it be clamped to the range, or should it give 0V?
Hold the previous voltage...so if in the patch above, the random produces:

2 3 1 2 4 3

and the range is set to 2-3, I would want:

2 3 3 2 2 3
BananaPlug wrote:There's this: https://metabolicdevices.com/2win/
Thank you, that looks like a good option if I have to venture out of Doepfer land (which it seems I might).

User avatar
Rigo
Chief Spam Killer
Posts: 2377
Joined: Mon Dec 27, 2010 4:48 am
Location: Belgium

Post by Rigo » Wed Dec 18, 2019 12:56 pm

Couldn't you use the A-136 Distortion / Waveshaper ? At least for the part of limiting the values ?

User avatar
oblis
...sigh...
Posts: 389
Joined: Thu Nov 04, 2010 8:22 pm
Location: New Orleans

Post by oblis » Wed Dec 18, 2019 1:32 pm

Rigo wrote:Couldn't you use the A-136 Distortion / Waveshaper ? At least for the part of limiting the values ?
Hmmm, never considered that module for CV for some reason...I'll have to read the manual a bit closer and consider how I might use it for the above. But looks like an interesting module, regardless, for pinning CV at some upper level unless it falls below that value.

edit: I realize that is a pretty obvious revelation to all but myself :lol:

User avatar
patched
Common Wiggler
Posts: 59
Joined: Mon Sep 23, 2019 12:42 pm
Location: Sweden

Post by patched » Wed Dec 18, 2019 4:47 pm

Ok, this may be a bit cumbersome, but I think it should work (haven't tried myself):

Let lower bound be L, upper be U, and your control signal C. Using mixers and attenuverters, create

A = C - L
B = U - C

Now, with a logic AND gate with trigger level T, input A + T and B + T.

The output from that AND gate should be able to be used as the trigger input for a sample and hold of the signal C. You may also want to AND with the clock pulse, so a new trigger is generated after each update.

Try it out and see if it works :)

User avatar
oblis
...sigh...
Posts: 389
Joined: Thu Nov 04, 2010 8:22 pm
Location: New Orleans

Post by oblis » Wed Dec 18, 2019 6:09 pm

patched wrote:Try it out and see if it works :)
Thanks for that patched! I'll have to think about that one :guinness:

I've got another solution using the a-152 below that might work...I think I can use address and CV amount to define the bounds.
Image

User avatar
patched
Common Wiggler
Posts: 59
Joined: Mon Sep 23, 2019 12:42 pm
Location: Sweden

Post by patched » Wed Dec 18, 2019 6:45 pm

oblis wrote:I've got another solution using the a-152 below that might work...I think I can use address and CV amount to define the bounds.
That's clever, looks like it could work!

I can explain my solution further if you're interested, basically what I thought was that you want to check if your signal is both less than the upper bound, and greater than the lower bound, and if that is the case, trigger S&H. So, if A is more than 0V, the signal is greater than the lower bound. Likewise, if B is more than 0V, the signal is less than the upper bound.

Now, we want to check if both of these are above 0V. For this we need to AND them. But the problem is that (digital) AND gates need a certain voltage for the input to register. That's why we add T to both the signals: Now, if the original signals were above 0V, that means that new signals are above T, and the AND gate will trigger. Ta-da! We now get a gate that tells us if L < C < U :)

The advantage to this solution is that you can use CV to define any upper and lower bound you want :)

User avatar
oblis
...sigh...
Posts: 389
Joined: Thu Nov 04, 2010 8:22 pm
Location: New Orleans

Post by oblis » Wed Dec 18, 2019 7:27 pm

Ahh, got it...cool! Adding the triggers is what threw me off initially. I like the ability to potentially CV the limits. Should be able to try both of these after my next module purchases.

User avatar
patched
Common Wiggler
Posts: 59
Joined: Mon Sep 23, 2019 12:42 pm
Location: Sweden

Post by patched » Thu Dec 19, 2019 7:14 am

oblis wrote:Ahh, got it...cool! Adding the triggers is what threw me off initially. I like the ability to potentially CV the limits. Should be able to try both of these after my next module purchases.
Nice, post results when you try it 8-)

kpreid
Common Wiggler
Posts: 105
Joined: Wed Aug 29, 2018 10:18 am
Location: California
Contact:

Re:

Post by kpreid » Wed Feb 12, 2020 10:07 pm

oblis wrote:
Wed Dec 18, 2019 12:33 pm
patched wrote:How do you want it to behave when the CV is outside the bounds? Should it be clamped to the range, or should it give 0V?
Hold the previous voltage...so if in the patch above, the random produces:

2 3 1 2 4 3

and the range is set to 2-3, I would want:

2 3 3 2 2 3
If you want any voltage within the range, not just when it hits the edges of the range, then clamping to a range is just max and min, so two A-172 Minimum/Maximum Selector in series would do the trick: take the maximum of the original random CV and the lower limit, then take the minimum of that and the upper limit. This is different from your comparator and S&H patch in that as long as the voltage is within the range it will continuously track the input voltage.

Post Reply

Return to “Synthesis Techniques”