Audio on the Web - Explore the BBC sound of the 1960s
Read the rest of this article to find out how we recreated these sounds, and to try them out yourself.
We're now ready to share that work with you. We've created a site which, while we wait for the Web Audio API to gain wider adoption, works best in Google Chrome. You can play with the four machine simulations, learn more about how they were used at the Workshop and then study the code to find out how they were built. Let's take a brief look at each of the machines in turn:
The Wobbulator, a sine-wave generator with a controllable modulation frequency, was used in the workshop to create a variety of space-y sounds. The device itself wasn't intended for musical use, it was a piece of salvaged equipment designed to make acoustic measurements.
Ring Modulation is an effect achieved by multiplying two signals together. In our simulation of the effect we wanted to show how this effect was used in the early days of the Radiophonics Workshop to create the voices of the Cybermen and Daleks in Dr. Who.
The Radiophonic Workshop provided the TV studio with a Ring Modulator and a tape machine with a recording of a 30Hz sine wave on it. This provided one signal while a microphone provided the other. The Ring Modulator box contained an analogue circuit which multiplied the two signals.
Our implementation captures some of the characteristics of the orignal device by modelling the diodes with a WaveShaperNode. The bias of the diodes can be adjusted with the "distortion" control - a feature not present on the original ring modulators. You can also adjust the speed of the simulated tape machine to change the pitch of the modulation frequency.
If you're running Google Chrome Canary see if you can discover how to use the microphone in your computer to create your own Dalek voices! Taking a look at the code behind the demo might help you to figure it out.
Gunfire Effects Generator
The gunfire effects generator was a piece of equipment that pre-dates the Radiophonic Workshop, but since it appears in the BBC Engineering Monograph "Radiophonics in the BBC" and it's a fun piece of kit we thought we'd include it in our work. The device was designed to replace the use of real guns in recording studios as these guns "occasionally 'misfired' (disastrous in a tense situation) … scared the performers, and required a special licence … to comply with Home Office regulations".
We based our demo on the block diagram given in the Engineering Monograph. We decided to use a buffer containing a burst of white noise in this demo, but also show how you can use the ScriptProcessorNode to create a custom white noise generator. This noise is gated and filtered as described in the monograph. We also add a little reverberation to simulate the sound the device would make in a small room.
Longer compositions at the Radiophonic Workshop were created by manually splicing tapes together and combining multiple tape machine tracks. Delia Derbyshire explains the process in an interview. Our demo recreates the experience of combining multiple tape loops in time to create a piece of music. You can adjust the playback speed of the tapes, either by a fixed amount (halving the speed) or by a small percentage. The small percentage change is useful to "beat match" the loops.
This demo is quite simple but illustrates how to playback sounds and load data into audio buffers using the Web Audio API.
We hope you enjoy playing with the demos we've created and learning more about the capabilities of the Web Audio API. If you're a developer, or have an interest in the future of audio on the web, we encourage you to get involved with the W3C working group, or to build, and share with us in the comments, some exciting audio applications yourselves: hopefully our code will provide you with a good starting point.