555 LCO & JavaScript Get Freaky Now

Perhaps the cheapest and easiest baseline synthesizer ever – made from a light controlled oscillator driven by the brightness of a laptop screen. A sequencer written in JavaScript varies the brightness of the patch, controlling the pitch of the synthesizer. Though it’s not included here the light controlled resonant filter I built in previous post could be added to this circuit – for next time! At a decimal fraction of the cost of a x0xb0x or TB-303, this open source hack could put transistorized bassline goodness in the hands of anyone with a hand-full of Radioshack parts.

The script varies the brightness of a patch on the computer screen, stepping through the values of the sliders. The sequencer has eight steps, and a tempo control. The patch of the screen is pointing at the CDS cell (light controlled resistor) which is shrouded by a piece of black heat-shrink tubing. You can play with a copy of the sequencer code here http://tristandabbles.com/SliderTraverse.html. WARNING at present it only works on Chrome and other web-kit browsers. Full screen (F11) to see the light patches. It’s JavaScript so you can hack as you please. I’ve done a bit to spruce it up. I added a second light patch to control a filter. It pulses with a simple decaying envelope every beat, which gives it that classic TB-303 sound. There are other features one could add to the sequencer, like buttons for accent or tying notes, LFOs etc.

I built the saw-tooth oscillator out of a 555. It can be done, contrary to what I said in a previous post. The trick is to supply a regulated current to the timing capacitor, which creates a linear ramp. This is done simply with a single transistor configured as a current source. Unfortunately you also have to isolate the output with a high impedance buffer. For the experiment I used a little Radioshack amplified speaker, shown in the video, which seems to have a very high input impedance as it didn’t effect the frequency of the oscillator at all. For a stand alone design an op-amp buffer stage would be required. So it’s a toss up as to whether this design is any simpler than the one I posted earlier which uses two op amps and a JFET.

One Response to “555 LCO & JavaScript Get Freaky Now”

  1. The Lumiphone | Tristan        Dabbles Says:

    […] You can also play it with a microcontroller like an Arduino by varying the brightness of an LED. You can even play the lumiphone with the brightness of a computer screen – which can be controlled by a custom program written, for example, in Pure Data or even […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

%d bloggers like this: