Logic Design

 

Mark Smart wrote:

I am curious if anyone has used the logic modules in the Nord to do involved digital circuit design. It occured to me this weekend that I could use this kind of stuff to implement the automatic four-part harmony I want to do with my wind synth. Having designed circuits in TTL, there are some things that I wish were available which aren't, like a counter module and an "A/D" converter, i.e. module which converts an integer into a four-bit bunary number, allowing the individual bits to be tapped and send through networks of AND and OR gates. I made up Karnaugh maps for the harmonization stuff I need to do, but don't really know how to do the A/D conversion without a really excessive amount of logic. Maybe the excessive amount would be ok since they are so cheap, computationally speaking. Any other logic hackers out there?

Sean Wolfe wrote:

Have you tried using the Digitizer Module or the Quantizer? You can force a Signal to a given bit depth there. So say I used The Digitizer and I set the Bit Rate to 4, i would only get signals from one of 4 states.

Rob Hordijk wrote:

An excessive amount indeed, here's a straightforward example. An integer value between -64 and 64 is split into sixteen levels, you can check it with the leds on the envelopes. Then some "mickey mouse" logic is used to add the sixteen bits into a four bit binary number, the mixer outputs can be used directly with other logic modules. But it's relatively DSP-cheap. You can delete the Env's if you don't need them. If speed of conversion is not important you could try some successive approximation approach. But mind you, the modules have some delay so parallel logic must be clocked with a S&H at the beginning of the patch and S&H's at the end of the computation. The S&H's at the beginning and the end must be clocked with alternating pulses e.g. by the shortcircuited inverter module Samuel Streeper suggested divide by the number of modules in the longest chain of logic modules, giving the computation time to settle. I will have a go at a successive approximation patch, could use that myself.

NB Although it isn't a ADSuccApprox Patch, like it is intended, it's surely an interesting one...

Jan Punter wrote:

You should see the Hordijk Machines (r), Cellular Automata by Rob Hordijk - they were published on the list.

Also you should read the text that accompanied the lecture about logic modules held by Rob on the Dutch modular day last year. I'm not shure where to find it though, maybe through the Clavia site following the links pointing to the upcoming NMDay in The Hague, then back to the event of last year. It has some usefull tips on how to use logic modules.

All trademarks are owned by their respected owners, I guess. Yeah Rob !

Cellular Automata

Sixteen rules for three groups of four cells. The math is multiplexed, first group 1, then 2 and finally 3 are calculated. There are 12 output gates or three output values, whatever you like. After x times four set bits in the groups a new seed is entered. To set a rule set the knob to eight times the new value in the next iterartion minus eight. (e.g. H1 := 8x1-8 = 0, H2 := 8x2-8 = 8, H3:=8x3-8 = 16, etc.) Setting a value to itself will stop the sequence at that value. Only H16 will now and then sow a new seed.

Cellular Automata

Algorithmic Composition

Samuel G. Streeper wrote:

Mark, I've done a bunch of logic work, sometimes I need it to build modules that don't exist like really interesting envelopes or whatever, and you can get really interesting effects when you output the results of 'programs' run at audio rates... You actually do have a 'counter' module, just make a circuit with a sample&hold, and trigger it on some clock to sample (say) the output of a control mixer, so it's new output could be its input + 1. You'll also have to build a 'reset' circuit, to do this, I usually use a modulatable crossfade module, on a reset signal, you have to modulate the xfade to the reset value and latch that input in the S&H. The issues you always will face: Resolution mostly, you have to be intimately familiar with the levels the modules put out, you become quite constrained when you have to have headroom to add signals together... Also, it takes a lot of modules to do everything (a counter is S&H + xfade + compare + mixer + I forget) You've got to clock your circuits or you have syncronization problems, the cheapest, fastest clock is an inverter that feeds back into itself and you can divide that down.

Tim Hoffmann wrote:

I just want to add the following ( I don't know if anyone else mentioned something like this on the list since I can not attend the list on a regular base): If you only need to count to something less than (I think) 32 you can use a control sequencer (or two): Set the number of steps to the highest value you will need and Set the steps to succesive numbers beginning with 0 (you can even use different stepsizes etc). Trigger it with the pulses you want to count---voila (it has even a reset input :-) )

BTW: Using only two steps with values 0 and 64 you get a flip flop!

There are some more funny things one can do with those sequencers You can for example make an "addressable controler map" (e.g. every integer between 1 and 16 on the input will result in an definable controller value/note number on the output). With this you can make a set of chords to choose from by number! I will try to send a patch for this when I am back home this evening.