The Process: Oscilloscope Music
Share this post
An oscilloscope is a device used to measure the frequency of electrical signals and display waveforms of those signals against a graph. If that sounds boring, it's because you haven't considered the creative capacity of this kind of tool. Jerobeam Fenderson, the man behind the Oscilloscope Music project, realized the oscilloscope's potential years ago, and he's been incorporating it into his live performances ever since.
We asked Fenderson if he'd walk us through the process of turning sound into images. He did us one better and gave us a complete walkthrough, which you can follow at home using the open source software he suggested. Enjoy!
First of all, in case you don't have an oscilloscope around, don't worry: the patch below includes a simple software scope to start playing right away. However, if you do have one, particularly an analog one, it will give you the advantage of looking way nicer. Just switch it to XY-mode (also called lissajous mode) and plug the left and right audio channels from your soundcard into it's horizontal and vertical inputs.
So, let's build a simple patch in Pure Data to draw some lissajous figures on an oscilloscope!
Pure Data (aka Pd) is an open source software, that let's you plug objects together to create sounds in a quick and effective way. If you're not familiar with it yet, it's best to download and install Pd-extended from puredata.info. To be able to hear the sounds you make, you need to check the DSP box in the main window, maybe adjust your audio preferences (Media → audio settings), and create a new file (File → New).
First we need an audio output from Pd. Pressing Ctrl+1 will create an object, specified by what you then write into it. For the audio output, type in "dac~" (digital to analog converter) and you will get an object with two inlets for left and right audio channels. As our first sound source we create a phasor~ object, which periodically outputs a ramp from 0 to 1 (sawtooth waveform), with the frequency specified at its input. Herefore we need a number box, created with Ctrl+3. To type in numbers you need to switch to "Play mode" with Ctrl+E. You can also click and drag to change the frequency. To go on editing your objects, switch back to "Edit mode" by pressing Ctrl+E again. Before you connect the phasor~ to the dac~ object, I suggest you turn your speakers down a little, because the sound can be quite harsh.
Now, to draw images with sound, we need two different audio channels. We're going to use the simplest possible waveforms, sine and cosine, which look similar to each other, but phase-delayed.
The respective Pd objects sin~ and cos~ take the phasor~'s periodical ramp as input and convert it into a sine and a cosine wave.
These audio signals are fed into the oscilloscope, so that one of them moves the green dot horizontally, while the other one moves it vertically, and it's happening so fast that we don't actually see the movement anymore, but rather the stable image of a circle.
To change the circle's size we need to multiply the signal with a number between 0 and 1. This can be done with a slider (Ctrl+Shift+V) and a *~ (multiplication) object. Right click on it to edit it's value range. To smooth out changes and avoid crackling, it's advisable to put a line~ object in between. The message box above (created with Ctrl+2) just tells it to use the sliders value with a change rate of 10 milliseconds.
Now finally we want more complex images. To experiment for yourself, an additive synthesizer will be a good start. Just select all the objects, except for the dac~, and press Ctrl+D to duplicate them, then add the signals with a +~ object.
Changing both parts' frequencies and volumes will already give you quite a variety of lissajous figures, and this is just the beginning. If you play around by yourself a little, you can easily find out about lots of possibilities to create new waveforms and images on your oscilloscope.
The complete Pd patch, including a little scope visualization subpatch, is available here.
More information, including an incredible 'How to Draw a Mushroom' video tutorial, is available on the Oscilloscope Music project page.