Skip navigation

Tag Archives: LoveMachine

For Science Day 2012 at UL, we decided to build a fun controller and sound synthesis demo. Over the past few years, we’ve had a number of postgraduate students exploring for example Galvanic Skin Response for artistic expression. It was slightly surprising to see the hype when Makey Makey launched earlier in 2012. I was puzzled that they didn’t seem to be aware of the work by for example Erkki Kurenniemi and Ralph Lundsten in the late 1960s and early 1970s. Kurenniemi’s DIMI-S is Lundsten’s Love Machine.
We were inspired by the original work by Kurenniemi and Lundsten and we designed and built a 16 channel analogue resistance multiplexer. The circuit uses four inexpensive CMOS chips (CD4051, 8-channel mux) and a couple of transistors (connected as a current mirror), connected to an Arduino and then to a laptop running Pure Data (PD). The Arduino controls what two pins that are active at any given time, rapidly scanning the whole matrix of possibilities (there are 240 possible connections, with 16 channels).
LoveMachine++ interface circuit
We then designed a sound synthesis system in Pure Data (PD) with both a spectral synthesizer, taking the parameters from the resistance matrix and doing a reverse Fast Fourier Transform, and a sequencer, where the mixing and filtering is controlled by the resistance matrix.
LoveMachine++ demo setup
We had to explain to the first few students that they had to touch at least two fruits or vegetables to get sound. After about an hour, word was spreading and experimentation flourished, with several students holding on to vegetables, shaking hands, touching foreheads, etc.

A short video clip from today’s demo.

Schematic diagram

LoveMachine++ interface Schematic Diagram

Bill of Materials

Name Value/Type Description Quantity
D1-3 1N4148 Diode 3
IC1-4 CD4051 8 channel analogue multiplexer 4
Q1-2 BC556 PNP transistor 2
R1 560K Resistor, 0.25W 1
R2 220K Resistor, 0.25W 1
R3 47K Resistor, 0.25W 1

Source code

Arduino code

PD patch

[note: I cobbled together a simple communication protocol in the code and patch above. Basically, an ASCII-based fixed packet length with a terminator character, which makes it easy to see and debug]

——

Some background on Kurenniemi’s work:

Mikko Ojanen, Jari Suominen, Titti Kallio, Kai Lassfolk (2007) Design Principles and User Interfaces of Erkki Kurenniemi’s Electronic Musical Instruments of the 1960’s and 1970’s, Proceedings of the International Conference on New Interfaces for Musical Expression, pp. 88–93.