I was watching the excellent video Cold Mac video from @mdoudoroff last night and had the thought… is eurorack - specifically pure CV stuff - Turing Complete? It almost certainly is, right? Let us omit modules like teletype that are already computers. Magic: the Gathering is. And a whole bunch of other things “accidentally” are.

Is there any existing research on this?

5 Likes

I believe everything can be made from comparators. All logic operations take between 1-3 comparators (XOR uses 3). [how come: comparator with -2.5V bias computes AB̅, with +2.5V bias A + B̅. the rest follows.]

1-bit memory (write/read) can be done with a Schmitt trigger which is just a comparator in positive feedback with itself.

Would have to think more carefully about all the cases but this is a start, to focus the possibilities.

9 Likes

I haven’t thought it through, but I wouldn’t be surprised if this doodad would accelerate matters.

1 Like

Take any CV sequencer that can move in both directions and you have a (finite length) Turing tape. Then just stack infinitely many of them next to one another to have the infinite Turing tape. (Technichally, the tape contents of a Turing machine are always finite, but unboundedly finite, hence the infinitly many sequencers :wink: )

Then you only need finite control with some logic gates. So yeah, it’s Turing complete

1 Like

You might be able to formulate a Turing machine from W/ (tape) and Cold Mac (processing) alone, though you also need some state “register” storage in addition to “program” tape. So perhaps more than one of each.

2 Likes

I think the short answer is: yes. But the real question is what do you want to compute, and how big is your budget? After you start stacking 100s of logic gates together, you’ll start rediscovering all the usual problems with circuit design, like propagation delays, rise times, clock skew, etc. If you allow yourself to use one of the computers-in-a-module options, then you’ll be able to compute a lot more stuff with fewer problems – and, in my humble opinion, less fun.

2 Likes

I believe comparator(s) are also used to derive square waveforms from an oscillator with a saw or tri core. I think this is also how PWM is done: you are modulating the threshold.

1 Like

Or it could be more fun, like Leo Kupper’s custom modular format (‘GAME’) in the 1970’s, or Salvatore Martirano’s designs which are now completely unremarked or hidden.

I think the tendency for every aspect of modular design to rely on pre-packaged tools, or recycling only the most common use cases, has buried a lot of history that could be helpful in pursuing alternate visions like these, which too could be new visions of computing such as live coding (even if the actual vision in this case is not completely clear).

6 Likes

You’re absolutely right. What’s fun depends on the person, the state of mind, the goals, etc.

It would be interesting to have a system with, say, 1000 comparators (complete with LEDs for “easy” debugging) and 1000 attenuators. Such a system would also be useful for educational purposes (“now build a 4 bit adder circuit”) and you could probably make some interesting sounds, too.

1 Like

Turing compete is an interesting mathematical construct, but for the purposes of a synth doesn’t seem tremendously helpful; additionally, something being Turing complete doesn’t mean it’s practical to use for general computational purposes. Specifically, treating your eurorack as an analogue computer wouldn’t offer much benefit in musical terms, and certainly no benefit over putting a more conventional computer in your rack. In short, it’s an interesting thought but probably not that relevant to your use (for music, or more generally audio) creation on the system.

1 Like

But digital computers are so cold! :wink:

Besides, I use a digital computer all day at work, the last thing I want to do is sit at another one at home :laughing:

I agree here – the notion of ‘completeness’ and the Church-Turing thesis concerns universal representability. [I still think the variety of operations which make ‘completeness’ possible are hard to beat. but then there are pure analog parts which could extend the framework – linear parts, metastability – that could be of interest.]

Of course, actual Turing machines also transcend representation. For instance the Ackermann function has no other representative purpose – it is its’ own representation (i.e. the outputs grow so large that the only way they can be represented is in terms of Ackermann functions of lower orders). Even writing it down or describing it involves a Turing type framework.

For me the interesting thing about computation is not what can it represent, but what new kinds of objects and ideas come forth when a human is in the loop with or somehow forms a network/rhizome with its basic operations. The visual works of Vera Molnar, Frieder Nake and Manfred Mohr are instructive, as are once popular but fading concerns such as cellular automata and fractals. As are Myron Krueger’s early experiments in ‘artificial reality’, which do involve representation in some respect, but not in this more restricted and literal sense we have in modern VR/AR which is more in line with Kevin Kelly’s ‘mirrorworld.’

So I don’t the interest here is tied to any one medium – visual, auditory, etc. Computing is a medium on its own terms. It’s interesting to trace something like the rejection of pictorialism in photography – if there are those who would equally fight for computing on its own basis.

Here’s where I start to diverge – to see computing as a medium on its own basis – then the sense of mediation; ie. the connection (interface) between user/programmer and operations certainly belong to this medium and would have a great deal of influence. Conventional modular systems and desktop computing interfaces are then both very specific ways of bringing forth this medium and influencing what it can do.

The reason I brought up Leo Kupper is he seemed to have invented a completely different approach to the medium. (Is it even analog or digital?) It’s still very difficult to get documentation on this system – but it’s as if from another planet: https://www.facebook.com/asbl.artem/posts/225757787629438/ [sorry for Facebook link, difficult to find something more direct]

Circuit bending (the specifically digital explorations of Reed Ghazala, not the earlier analog effort by Michel Waisvisz that should be better known) is yet another approach. To say – we have logic structures at the circuit level but we will introduce feedback and make the even lower level aspects of the circuitry – ‘abstracted away’

Live coding is also very much in this spirit, and the Orca discussed here I think has helped it mature to a new level, because it takes away layers of representation.

There’s also a great recent article on Hyperallergic, in which the constraint of small program size brings out applications of computing that are in a sense most ‘its own’ – that is most removed from representation. Sebastian Bartlett’s piece was particularly affecting, it makes me think how I can with a few modular sequencers and logic gates perhaps attempt to evolve similar structures…

The article mentions hacking/hacker aesthetic, which has also an important role. We must become aware of the professionalization of programming practices which encourage the reusable, the generic, the correct (that is the representative) and ask – does our unthinking adoption of these practices, do our unquestioned ideas of ‘better code’ lock in certain biases or lead only to certain results (such as the endless-recycling loops of virtualization and simulation?) Look at most game development which is simply rearrangements of high-level modules. Whereas a lot mentioned in the Hyperallergic piece targets only the lowest of the low level and is certainly not ‘better code’.

Also, does our focus on the end result as music, as painting, as video etc. (interestingly, never ‘as experience’ – which was Krueger’s goal) also detract from the various ways computing can come into its own as an autonomous, non-representing medium which is always its message?

Lastly there’s sort of a manifesto for this perspective – Friedrich Kittler’s “There Is No Software” – well worth a read for any computer scientist, and kind of a hacker manifesto in some sense. I believe it contains a passage which floored me, about Alan Turing himself learning and preferring to think at the level of hardware (so he as a subject was himself transformed by the interaction of programming, which could thus no longer be thought in terms of representation). Could be another one of Kittler’s essays, perhaps “Protected Mode.” I think it could be well over 30 years old.

11 Likes

In terms of computing as medium of interest in its own right, it reminds me of something I’ve not thought of it a long time: the game “core wars” (and to a lesser extent 1k/4k intro programming). I suppose there may be interesting approaches that stem from low level constructed simply as a form of art in their own right. I guess the hard part would be finding the medium by which a consumer could enjoy it.

1 Like

I think a critical step (which happens also with viruses) is the complete interchangeability of data and code. self-modifying programs, Ackermann-style recursion etc. I have to think a bit how to define ‘Ackermann-style recursion’ because hopefully it is something broader than the general sense of non-primitive recursive. I mean only ‘recursion in the sense of recursion’, of course this may be inseparable from or even equivalent to the concept of non-primitive recursive.

so the challenge has been either reduced or expanded to: what is the simplest patchable interface capable of ‘Ackermann-style computation’ and does this require Turing completeness. then what do very short programs do in this space.

[there is also: equivalencies with lambda calculus or the earlier ‘rewriting systems’. these may become relevant again if there’s a question of interface.]

Thinking out loud, I wonder if any of the earlier analog computation models (I believe economics was modelled this way) make interesting sounds if run on a modular. The building blocks would be all available within normal synthesis modules (I believe), and I seem to remember various economic models produce oscillations…

Reference to this here - https://en.wikipedia.org/wiki/MONIAC

Coloured liquids - i’m now wondering if this could make a cool interactive instrument/installation thingamabob

1 Like