MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

new DIY module omiindustriies Dual Digital Shift Register
MUFF WIGGLER Forum Index -> Music Tech DIY  
Author new DIY module omiindustriies Dual Digital Shift Register
omiindustriies
Omiindustriies Dual Digital Shift Register now available as a PCB/panel set from the omiindustriies etsy.

The Dual Digital Shift Register is a cmos shift register based chaotic cv and gate generator. It uses two 4 bit shift registers and a digital to analog converter to create pseudo random voltages. A shift register has two inputs a clock input and a data input which expect binary signals ie gates or square waves, off or on. The data and clock inputs have comparators so you don’t have to use a gate signal, just a signal over 1.1 volts. When the clock goes high the shift register looks at the data input and if it is also high it puts a high signal into the first stage of the shift register, if it is low the first stage is low. On the next clock pulse whatever is in the first stage is moved to the second stage and the second stage is moved to the third stage, etc. and the shift register looks at the data input and moves that data into the first stage. When a bit reaches the 4th it is fed back into the data input and is xor'd with the incoming data signal. This means that when either one of the inputs are high the data is high but when they're both high at the same time the data is low. The 4 bit are also fed into a digital to analog converter which takes the 4 bit binary signals and converts them into a voltage.The digital to analog converter (DAC) uses the inverse of the bits to create the cv output, so all bits at 0 outputs the highest voltage, about +5 volts, and all bits at 1 means the lowest voltage, about -5 volts. In a 4 bit shift register the possible number of states is 16 (2^4). Also a fun bit of information is that a 4 bit signal is called a nibble. You have leds to indicate the state of each stage whether high or low. You also have gate outputs for each of the stages, which go from -5 volts to +5 volts.
The outputs are determined by the relationship between the clock and data inputs. Using closely related signals you will get patterns that loop, such as outputs from a clock divider. Using signals that aren’t as related to each other will create more chaotic patterns. One way to create even more chaotic sequences is to route feedback into the patch. Patch the cv output of the ddsr into a cv in on the signal for the clock or data oscillator to make a feedback loop. Attenuators are suggested to dial in the amount of feedback.. Attenuators or attenuverters are generally recommended with the ddsr.
Build documentation:
http://www.eatyourguitar.com/DDSRBOMV1.pdf
av500
is the 2nd 4-bit register normalled to the first one? meaning, can I have an 8-bit long sequence?
J3RK
Nice!

IMO - "You can never have too many shift registers!"

w00t
diablojoy
looks good
weird for me though it brings the price up in English pounds
strange for something that ships from the US
flts
diablojoy wrote:
looks good
weird for me though it brings the price up in English pounds
strange for something that ships from the US


I think Etsy is doing some guessing regarding where you are. I got the price in Euros, living in the Euro zone... It probably thinks you live in the UK hihi
EATyourGUITAR
av500 wrote:
is the 2nd 4-bit register normalled to the first one? meaning, can I have an 8-bit long sequence?


We designed this module together. It was totally her idea. I only made small changes and did the PCB layout. You can patch gate 4A to data input B. Then use the same clock for both. If you want closed loop 8bit you can patch gate 4B to data A also. If you insert a DC mixer before one of the data inputs, you can create a probability control to influence what would otherwise be a finite discrete 8bit system. It is also possible to make patches like the Turing Machine or the Noise Ring if you have enough to modules to work out those patches.

Edit: you can add a wire in back but you need to drill the PCB first. You would drill the normal on the data jack so it does not ground out when no cable is inserted to data. You do this at your own risk and you own expense but I will show you how with pictures if you need me.
acgenerator
A few questions / comments / Suggestions:

1) the ModularGrid entry suggests this was going to be available as a fully assembled version as well? When is the production release?

2) Two features seem to be under talked about:
a) "The 4 bit are also fed into a digital to analog converter which takes the 4 bit binary signals and converts them into a voltage.The digital to analog converter (DAC) uses the inverse of the bits to create the cv output" Does this result in a Turing Machine-esque effect?

b)"When a bit reaches the 4th it is fed back into the data input and is xor'd with the incoming data signal." - I would suggest a toggle option for this on future versions so it can also server as a traditional ASR as well as having a feedback loop. If you made it a 3-way toggle you could send to you choice of {XOR to A, XOR to B, or OFF}

3) I agree with Av500 that there should be a default normalling for an 8-bit sequence. Even better would be to make these "chainable" between multiple modules. Patching outputs to the opposite input works... but wastes a channel or requires use of a mult.
EATyourGUITAR
acgenerator wrote:
2) Two features seem to be under talked about:
a) "The 4 bit are also fed into a digital to analog converter which takes the 4 bit binary signals and converts them into a voltage.The digital to analog converter (DAC) uses the inverse of the bits to create the cv output" Does this result in a Turing Machine-esque effect?


this has idea been around long before the turing machine. it is called a digital to analog converter. IIRC turing machine is 8 bits. the Dual Digital Shift register is actually two 4bit shift registers each with a 4 bit digital to analog converter. this is the CV out that fluctuates between +5v and -5v with full 4 bit resolution. turing machine only has one cv out. this has two.

acgenerator wrote:
b)"When a bit reaches the 4th it is fed back into the data input and is xor'd with the incoming data signal." - I would suggest a toggle option for this on future versions so it can also server as a traditional ASR as well as having a feedback loop. If you made it a 3-way toggle you could send to you choice of {XOR to A, XOR to B, or OFF}


acgenerator wrote:
3) I agree with Av500 that there should be a default normalling for an 8-bit sequence. Even better would be to make these "chainable" between multiple modules. Patching outputs to the opposite input works... but wastes a channel or requires use of a mult.


two answer both these questions. yes you can do all this but there would be compromises in other areas. the design is very simple. everyone can understand very quickly how it works. the clock and data inputs are grounded when no cable is inserted. I was manually loading bits with patch cables. all you need is a DC offset on the patch cable > 1.1v. I really like the idea that the module does not do something that I don't know what it is doing. everything should be on the panel. these modules function as true dual modules. each side is %100 independent but also %100 hackable. all of these normal connections can be done by the builder very easy. you only need a razor to cut the ground plane both sides.

an ASR is an analog shift register. this is completely different. there is no analog front end, no where to store 4 different analog samples, no ADC, no software. NO ASR with this module ever.

synth tech E102 will do ASR but it will not do what the Dual Digital Shift Register does. software based modules have clocks. omiindustriies modules use high speed texas instruments CMOS logic and TL074 jfet opamps. the modules are low power, high speed, zero aliasing, synchronous or non-synchronous. compare 55mA from +12V, 25mA from -12V on the E102 to the 13mA from +12V, 10mA from -12V on the Dual Digital Shift Register.
euromorcego
looks good!

the BOM has a suspicious lack of capacitors. I guess you do not believe in decoupling power rails?
EATyourGUITAR
euromorcego wrote:
looks good!

the BOM has a suspicious lack of capacitors. I guess you do not believe in decoupling power rails?


there are two 100nf caps 0805 by the power header. I must have made a mistake in the BOM. this module was not designed specifically for 1v/oct signals so we designed it like a logic + noise module. mass production and cost was also a consideration. you will notice that the analog joystick has through hole capacitors. that is a precision CV source. the quad logic has 100nf caps placed all over the PCB because of the large size of the pcb. if we do any audio processing modules or anything 1v/oct related we will have even better power filtering as it is appropriate there.
acgenerator
EATyourGUITAR wrote:
acgenerator wrote:
2) Two features seem to be under talked about:
a) "The 4 bit are also fed into a digital to analog converter which takes the 4 bit binary signals and converts them into a voltage.The digital to analog converter (DAC) uses the inverse of the bits to create the cv output" Does this result in a Turing Machine-esque effect?


this has idea been around long before the turing machine. it is called a digital to analog converter. IIRC turing machine is 8 bits. the Dual Digital Shift register is actually two 4bit shift registers each with a 4 bit digital to analog converter. this is the CV out that fluctuates between +5v and -5v with full 4 bit resolution. turing machine only has one cv out. this has two.


Yes, i understand that the concept has been around way longer than the Turing Machine but was looking for an expanded understanding of what the output CV looks like. As that is a well known module, I refered to that one for comparison. What are the relative weightings for each of the 4 bits and these subject to fluctuation/randomness?
acgenerator
EATyourGUITAR wrote:

acgenerator wrote:
b)"When a bit reaches the 4th it is fed back into the data input and is xor'd with the incoming data signal." - I would suggest a toggle option for this on future versions so it can also server as a traditional ASR as well as having a feedback loop. If you made it a 3-way toggle you could send to you choice of {XOR to A, XOR to B, or OFF}


acgenerator wrote:
3) I agree with Av500 that there should be a default normalling for an 8-bit sequence. Even better would be to make these "chainable" between multiple modules. Patching outputs to the opposite input works... but wastes a channel or requires use of a mult.


two answer both these questions. yes you can do all this but there would be compromises in other areas. the design is very simple. everyone can understand very quickly how it works. the clock and data inputs are grounded when no cable is inserted. I was manually loading bits with patch cables. all you need is a DC offset on the patch cable > 1.1v. I really like the idea that the module does not do something that I don't know what it is doing. everything should be on the panel. these modules function as true dual modules. each side is %100 independent but also %100 hackable. all of these normal connections can be done by the builder very easy. you only need a razor to cut the ground plane both sides.

an ASR is an analog shift register. this is completely different. there is no analog front end, no where to store 4 different analog samples, no ADC, no software. NO ASR with this module ever.

synth tech E102 will do ASR but it will not do what the Dual Digital Shift Register does. software based modules have clocks. omiindustriies modules use high speed texas instruments CMOS logic and TL074 jfet opamps. the modules are low power, high speed, zero aliasing, synchronous or non-synchronous. compare 55mA from +12V, 25mA from -12V on the E102 to the 13mA from +12V, 10mA from -12V on the Dual Digital Shift Register.


I guess what I was trying to suggest the ability to create a long pipeline of gates (not a full analog range like an ASR) in which the random/XOR factor could be toggled at the user's discretion. Sometimes there is a need for random but under controlled under controlled conditions. Hackable is a plus IMO.

I hope i don't appear as critical. I am trying to fully understand what the capabilities are / could potential be so I can decide if this fits in with my system.
EATyourGUITAR
I am open to feedback but I don't see room for improvement with the dual digital shift register. It does everything we wanted it to do. We are not trying to make something like mutable instruments or Turing Machine. Being different has advantages. You can have whatever you want in eurorack. I welcome your comments.
synthcube
we're delighted to add to the thread to announce we're carrying these pcb/panel sets with full kits to follow---

thanks omiindustries and EATyourGUITAR!

http://synthcube.com/cart/omiindustriies-dual-digital-shift-register
what gives?
Looks cool! Sound demos?
mbroers
finally discovered this module and am building one, but have a small issue sourcing 400kohm 0805 resistors. Im finding 397k and 402k. Does it matter?
MUFF WIGGLER Forum Index -> Music Tech DIY  
Page 1 of 1
Powered by phpBB © phpBB Group