An analog computer game on a modular synthesizer

Here’s a “Whac-A-Mole” type game made on a modular synthesizer, acting as an analog computer.

We got excited at the office over some images of old analog computers. This is a pretty fresh look for a machine:

This is the Donner 3500 portable analog computer.

The Donner 3500, a portable analog computer from the 1950s.

We are so used to the digital computer concept that it’s easy to think of an analog computer as the same thing but with older technology like op-amps, knobs and switches and lacking memory and storage. But an analog computer works with the value of a continuous input, instead of a quantized representation of the value as in the digital realm.

Analog computers are speedy with computing real time data, for example doing simulations or calculations of natural data. Not with the best precision though, due to analog noise. Digital values of 1s and 0s of course eliminates this noise. Hybrid computers, with analog speed and digital precision, were produced far into the seventies and some were still used in the 00s. TV graphics in the 70s and 80s were often made on analog computers, a popular system was the Scanimate.

So these cute analog computers with jacks and knobs ought to be far gone, right? Well the other day i realized we actually had one in our office, at least a close relative – the modular synthesizer.


Eurorack and Serge synthesizer modules.

Normally a sound creating machine, but why not simulate commuter train delays or calculate taxes with this thing? Or hey, let’s make a game.

It’s a game of reaction. You’re supposed to touch the plates as quick as you can when they light up. The quicker you are the more points you’re given. The score can be read on a volt meter during the game. The synths also got to make some game sounds.

The video at the top shows Pärs best round, scored over 100. Jakob tied that later though.

The setup is like this: An accelerating trigger pulse loop lights up new random key. The selected row output sends out a set voltage. When you hit a key with your finger another jack outputs a different voltage. These voltages were inverted, attenuated and summed to zero volt when you hit the correct key. A comparator triggers on zero volt = score. Along with the original trigger pulse we also got a sloped output and when Pär scores we “sample” the curve with a sample and hold module, which gives you more points the quicker you are. The sampled value get mixed together with itself, i.e. the previous sampled value, so the score accumulates over time.

The game sadly got no highscore list.

Making car sound with web audio synthesis

We’ve fooled around with web audio synthesizers before, but never in a situation where mp3s would not also do the job. But in our recent Red Bull Racing game it really made sense to use a synth. The throttling sound is of course what it’s about. You want the speed of the car to control the pitch of the sound, so a generated sound is the way to go.

The amazingly realistic car sound is made out of 7 oscillators, three of them making sound (square, triangle and noise), and three of them acting as low frequency oscillators, modulating stuff. The last one is doing frequency modulation on oscillator 1. All this goes through four different filters plus pan and delay.

Frequency modulation can be described as changing the pitch of a sound back and forth so fast that the movement itself starts to make sound. When throttling the car affects both the pitch of the audible oscillator and the one doing the frequency modulation it starts to sound a bit interesting.

Try some FM in this jsfiddle:
You first hear the clean sinus wave, and as you turn up FM the character of the sound changes. Turn the frequency of the LFO all the way down to get a glimse of what’s going on.

Frequency modulation is the synthesis method of the famous 80s Yamaha DX7 synth, which had 6 of these oscillators or operators modulating each other.

Our next project gotta be to reproduce the DX7 in the browser.

The game (use your phone):

SXSW lineup helper

We’re going to Austin again in March, for SXSW. It’s beyond great when it comes to live music. And tacos. But their official schedule is impossible to use due to the shear amount of gigs.

Two years ago we created a little tool for ourselves and our friends called LASTSX.WS which mashed the lineup with their account. This got shut down by the SXSW lawyers due to brand infringement in the URL. So when setting it up this year we removed any references to SXSW in the URL.

The end product is far from perfect, but it was a quick hack and it works on our machines™. Enjoy!

(Ok this is a tech blog so here’s what we used: PHP5.5, Nginx, Memcached, Curl.)