Analog Bit Crusher - Duty Cycle Control?

Started by thehallofshields, March 09, 2015, 09:57:01 PM

Previous topic - Next topic

thehallofshields

I'm getting this bizarre little circuit going on breadboard, and I've noticed many commercial Sample and Hold circuits based on this design implement a 'Resolution' control to alter the Duty Cycle of the Pulse Wave Oscillator. Lower Duty Cycle seems to equal more Aliasing and vice versa.



Oscillators are still a little beyond me. Does anyone have any ideas?

blackieNYC

On the plus input of your X3, in addition to what is there, I hvae seen a voltage divider made with fairly large resistors and a pot, adjusting an offset from 9v to ground.  I think this might be a duty cycle adjustment.  Easy to try anyway.  I left it out in my magnus modulus http://www.diystompboxes.com/smfforum/index.php?topic=72527.0
Keep looking up LFOs and you'll find one
  • SUPPORTER
http://29hourmusicpeople.bandcamp.com/
Tapflo filter, Gator, Magnus Modulus +,Meathead, 4049er,Great Destroyer,Scrambler+, para EQ, Azabache, two-loop mix/blend, Slow Gear, Phase Royal, Escobedo PWM, Uglyface, Jawari,Corruptor,Tri-Vibe,Battery Warmers

slacker

The duty cycle is set by the ratio of R8 to R9. The total resistance of R8 and R9 sets the frequency. So quick and dirty way is make R8 into a pot,  duty cycle and frequency will be interactive though.

blackieNYC

Slacker - does that mean the duty cycle is varying a lot with frequency as it is?
And, what is that variable-bias-looking dc adjustment in the magnus modulus and the tremulous lune? "Space"
http://fuzzcentral.ssguitar.com/tremulus.php
  • SUPPORTER
http://29hourmusicpeople.bandcamp.com/
Tapflo filter, Gator, Magnus Modulus +,Meathead, 4049er,Great Destroyer,Scrambler+, para EQ, Azabache, two-loop mix/blend, Slow Gear, Phase Royal, Escobedo PWM, Uglyface, Jawari,Corruptor,Tri-Vibe,Battery Warmers

slacker

Yeah the duty cycle varies with frequency but for most of the range the pulse width is tiny compared to the frequency so it's not a big change. The pulse is only a few mico seconds, wide just enough to briefly turn the FET on so the cap can sample and hold the signal at that point..
If you make the pulse wider you probably get more of a track and hold effect where when the fet is on the signal can pass and when it shuts of it samples what ever voltage it was at. I don't know what this sounds like, a bit less weird I guess because you're hearing more of the original signal.

You're right about the "space" control that is another way to change the duty cycle, it interacts with the frequency control a bit as well.

thehallofshields

OK thanks for the responses. I haven't been back home to my breadboard yet.

Are there any Oscillators in other projects that would be suitable for the Jfet Sample and Hold?

thehallofshields

You know what... I'm having some issues getting this thing to work on breadboard.

I've heard some say that a TL072 won't work as a clock, yet I see TL072 LFO's in Google Images.

thehallofshields

#7
Okay. Nevermind. I got it going.

MPF102 won't seem to work in this circuit.

Experimenting with R8 now.

Brisance

Quote from: thehallofshields on March 11, 2015, 04:01:31 AM
OK thanks for the responses. I haven't been back home to my breadboard yet.

Are there any Oscillators in other projects that would be suitable for the Jfet Sample and Hold?
555?

thehallofshields

Quote from: Brisance on March 12, 2015, 07:59:22 AM
555?

Thanks for the suggestion, but I've read people who have tried 555 in this circuit have worse problems with noise.

thehallofshields

Okay.

I've tried up to 10k for R8, and while Frequency goes up, I hear a major increase in clarity.

My ears might be deceiving me, but with a higher duty-cycle, the signal can handle lower oscillator frequencies.

With bass notes, there is less extreme clipping, and with treble notes there is less inter-modulation clang, meaning you can still hear the fundamental over (is it sum or difference?) the note being generated.


thehallofshields

I think a frequency independent Duty-Cycle control is a must for this circuit, even if it is going to require another opamp or more.

Could anyone point me in the right direction?

Digital Larry

Interesting idea.  From a purist's perspective, you want the "sample" pulse to be pretty narrow so your output only tracks the input at the specific sample point.  But, if you leave the sampling "gate" open longer, then more of your original signal peeks through.  So you'd have something of a mix control that way if you could control the duty cycle effectively.

Yesterday in the DSP universe I was messing around with a ring modulator and accidentally sent a -1.0 to 1.0 carrier to the multiplier instead of 0.0 to 1.0 the way I usually do.  I guess that's what you'd normally expect, but it makes a big difference in the sound.  0.0 to 1.0 is smoother sound.  Then at some point the carrier clipped on one side making yet another sound.  I slowed everything down to get back into the tremolo zone and heard hints of a new world of tremolo with asymmetrical, clipped or rectified LFO waveforms.
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

Digital Larry

#13
woops duplicate post  ::)
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

slacker

Quote from: thehallofshields on March 12, 2015, 09:13:18 AM
I think a frequency independent Duty-Cycle control is a must for this circuit, even if it is going to require another opamp or more.

You can do this by taking the output of X4 into the + input of an opamp, connect the 1Meg to the fet to the output of this opamp instead of where it is now. Then connect a pot, 1 outside lug to 9 volts, the other outside lug to ground and the wiper to the - input of the opamp.
This makes a comparator where the threshold is set by the pot, the output of X4 is a sawtooth wave, when the wave goes above the threshold the output goes high, when it's below the threshold it's low. This gives you a variable duty cycle that doesn't interact with the speed of the oscillator. You'll probably find you want some limiting resistors between the outer lugs of the pot and the supply to set the limits once you see if it does what you want.

thehallofshields

YES! That's exactly what I was hoping for.

I'll make a drawing tonight and maybe you can take a look soon.

thehallofshields

Quote from: Digital Larry on March 12, 2015, 09:58:35 AM
Interesting idea.  From a purist's perspective, you want the "sample" pulse to be pretty narrow so your output only tracks the input at the specific sample point.  But, if you leave the sampling "gate" open longer, then more of your original signal peeks through.  So you'd have something of a mix control that way if you could control the duty cycle effectively.

You might be surprised how many guys are trying to sell Colin's Design.

I've seen one commercial Aliaser that actually uses a clean Mix. I thought that was sort of crude for this type of circuit.

The Duty Cycle can act as a depth control. Several other commercial builders have named this 'Resolution', but I think theirs are interactive with the Frequency as well.

What I've noticed is that with the very narrow Pulse Width, you start getting chaos at low carrier frequencies early. You start losing information and notes past the 12th fret all sound the same.

However, with a higher carrier frequency, the effect has something 'whiny' to it. I think this Duty Cycle control will allow for a perfect compromise.

thehallofshields

#17
Quote from: slacker on March 12, 2015, 02:07:29 PM

You can do this by taking the output of X4 into the + input of an opamp, connect the 1Meg to the fet to the output of this opamp instead of where it is now. Then connect a pot, 1 outside lug to 9 volts, the other outside lug to ground and the wiper to the - input of the opamp.
This makes a comparator where the threshold is set by the pot, the output of X4 is a sawtooth wave, when the wave goes above the threshold the output goes high, when it's below the threshold it's low. This gives you a variable duty cycle that doesn't interact with the speed of the oscillator. You'll probably find you want some limiting resistors between the outer lugs of the pot and the supply to set the limits once you see if it does what you want.


So ditch C4, R9, D1,D2

Connect X3 Out and X4 -In via R8

No Decoupling or Biasing  at the Comparator +In?

Brisance

Quote from: thehallofshields on March 12, 2015, 09:04:05 AM
Thanks for the suggestion, but I've read people who have tried 555 in this circuit have worse problems with noise.
Really? I am currently designing and breadboarding one with 555 driving a LF398 :/ I guess I'll see when I get the S&H part working

slacker

Quote from: thehallofshields on March 13, 2015, 06:27:24 AM
Quote from: slacker on March 12, 2015, 02:07:29 PM

You can do this by taking the output of X4 into the + input of an opamp, connect the 1Meg to the fet to the output of this opamp instead of where it is now. Then connect a pot, 1 outside lug to 9 volts, the other outside lug to ground and the wiper to the - input of the opamp.
This makes a comparator where the threshold is set by the pot, the output of X4 is a sawtooth wave, when the wave goes above the threshold the output goes high, when it's below the threshold it's low. This gives you a variable duty cycle that doesn't interact with the speed of the oscillator. You'll probably find you want some limiting resistors between the outer lugs of the pot and the supply to set the limits once you see if it does what you want.


So ditch C4, R9, D1,D2

Connect X3 Out and X4 -In via R8

No Decoupling or Biasing  at the Comparator +In?

No leave the original circuit exactly as it is, apart from moving the connection to the fet. Yeah no biasing or decoupling out of X4 straight to the + input. See if that does what you want, if it does we can maybe refine it a bit.