Hackaday reader [Jan Ostman] has been making microcontroller-based DIY synthesizers for quite a while now. Recently, he’s opened up the source for a lot of them so that you can play along at home. All of these virtual-analog synths and soundmakers can be realized on an Arduino or AVR ATmega328 if you happen to have one lying around.
Extra parts like a keyboard, some pushbuttons, or some potentiometer knobs to twiddle won’t hurt if you’d like to make something more permanent or more obviously playable, like [Jan] does. On the other hand, if you’d just like to get your feet wet, I’ve tweaked his code to be more immediately plug-and-play. The code is straightforward enough that it’s a good learning platform. So let’s take a quick tour through three drum machines and a string synth, each of which you can build on a breadboard in just a few minutes.
To install on an Arduino UNO, fetch the zip file from this GitHub repository, and move each subfolder to your Arduino sketch directory. You’re ready to play along.
Direct-digital synthesis (DDS) is a sample-playback technique that is useful for adding a little bit of audio to your projects without additional hardware. Want your robot to say ouch when it bumps into a wall? Or to play a flute solo? Of course, you could just buy a cheap WAV playback shield or module and write all of the samples to an SD card. Then you wouldn’t have to know anything about how microcontrollers can produce pitched audio, and could just skip the rest of this column and get on with your life.
But that’s not the way we roll. We’re going to embed the audio data in the code, and play it back with absolutely minimal additional hardware. And we’ll also gain control of the process. If you want to play your samples faster or slower, or add a tremolo effect, you’re going to want to take things into your own hands. We’re going to show you how to take a single sample of data and play it back at any pitch you’d like. DDS, oversimplified, is a way to make these modifications in pitch possible even though you’re using a fixed-frequency clock.
The same techniques used here can turn your microcontroller into a cheap and cheerful function generator that’s good for under a hundred kilohertz using PWM, and much faster with a better analog output. Hackaday’s own [Bil Herd] has a nice video post about the hardware side of digital signal generation that makes a great companion to this one if you’d like to go that route. But we’ll be focusing here on audio, because it’s easier, hands-on, and fun.
Recently I’ve been learning more about classic analog music synthesizers and sequencers. This has led me to the Baby10, a classic and simple analog sequencer design. In this article I’ll introduce its basic operation, and the builds of some awesome hackers based on this design.
Sequencers produce, a sequence of varying voltages. These control voltages (CV) can then be use to control other components. Often this is a simple tone generator. While the concept is simple, it can produce awesome results:
A basic sequencer is a great beginners project. It’s easy to understand the basic operation of the circuit and produces a satisfyingly entertaining result. The Baby 10 was originally published in a column called “Captain’s Analog”, but has now been widely shared online.
The circuit uses the 4017, a simple CMOS decade counter. The 4017 takes an input clock signal then sequentially outputs a high pulse on each of 10 output pins. As such, the 4017 does almost everything we need from a sequencer in a single IC! However, we want our sequencer to output a varying voltage which we can then use to generate differing tones.
To accomplish this variable resistors are connected to each of the output pins. A diode in series with the variable resistor stops the outputs fighting against each other (in layman’s terms).
To make the sequencer more visually attractive (and give some feedback) LEDs are often also added to the output of the 4017. A complete Baby 10 sequencer is shown in the schematic below. The original circuit used 1N917s, these are no longer available but the part has been replaced by the 1N4148.
We’ve got to admit, we don’t have any idea what to call this hack. Artist [Graham Dunning] refers to it somewhat dryly as the “Mechanical Techno method”, but that doesn’t quite do it justice. We’re thinking “Turntable-sequencer-synthesizer-beat-box-dub-stepper thingy. With cowbell.”
Call it what you will, but [Graham] has really gone the distance in extracting as much sound as possible from the humble turntable, which is used as more of a synchronizer than a sound source. Although it does play records too – at least part of them; [Graham] masks the grooves and anchors the tone arm so that only part of a track is played. Other records are masked with conductive film over which wiper contacts are placed, providing triggers for various synthesizers. Particularly clever is the mechanical percussion section; a record is cut radially to form cams that mechanical followers trip over periodically to hit either the cone of a woofer for bass notes, or a cowbell for – well, cowbell.
It may not appeal to everyone, but you’ve got to admit there’s something mesmerizing about watching this rig in action. The beat is pretty catchy, and as you can see in the live performance video after the break, there’s a lot of room for [Graham] to express himself with this instrument. We wouldn’t mind seeing how Compressorhead would put this rig to work in their performances either.
Last session, we use the cheap and cheerful 4046 Phase-locked Loop chip as a simple voltage-controlled oscillator (VCO). It was dead simple, in fact, because the chip has a VCO already built in. There’s one big drawback of the 4046’s VCO; the pitch changes linearly with the control voltage. Ideally, as we’ll discuss in the next sections, we’d like the frequency to be an exponential function of the control voltage (CV), and that’s going to mean a little bit of analog circuitry.
René Schmitz has a fantastic exponential VCO design that’s almost a perfect fit for the Logic Noise series — it’s built with a minimum of parts, it’s a little bit rough around the edges, and at its core is a 4000-series CMOS chip that’s normally used for digital logic applications. The only drawback, from our perspective, is that it uses a dual (positive and negative) power supply. We’ll hack our way around that, and ignore some of René’s otherwise worthwhile refinements in the name of doing something truly quick and dirty. We’ll get 95% of the results with 70% of the work, although it’s easy enough to add on the rest if it strikes your fancy.
Just when we thought we’d heard of all the cool early synthesizers, a tipster rattled our jar with news that someone completely restored a Novachord. These spinet piano-shaped prototypical synthesizers were made by Hammond for only four years. About a thousand of them were built before sales sagged and parts became scarce in 1942. It is estimated that only 200 or so are still around today.
The Novachord’s sounds are generated by a bank of twelve monostable vacuum tube oscillators. Each one is tuned to a pitch of the chromatic scale in what is called divide-down architecture. [Hammond] and his co-creators [John Hanert] and [C.N. Williams] used the property of dividing a frequency in half to generate the same tone, but one octave lower. This design means that all 72 notes can be played at the same time. Adjustable formant filters shape the often otherworldly sounds, which are then passed through flexible tube-based envelopes.
[Phil] knew it would be a big job to restore a Novachord in any condition. Thousands of passive components all had to be replaced. The cabinet bore all the hallmarks of a well-used parlor instrument—water rings from cocktails, scratches, and cigarette burns galore. [Phil] says that woodworking really isn’t his thing, but he did an outstanding job nonetheless of sanding every nook and cranny and applying several coats of stain. There are tons of drool-inducing pictures on his project site, and several clips of [Phil] really putting it through its paces.
Electrical engineer and music enthusiast [Freidrich Trautwein] was dissatisfied. He believed that the equal tempered scale of the piano limited a player’s room for expression. And so in 1930, [Trautwein] and an accomplished pianist named [Oskar Sala] began work on an electro-mechanical instrument that would bring the glissando of the string section’s fretless fingerboards to the keyboard player. [Trautwein] called his creation the Trautonium.
Sound is produced in the instrument by sawtooth frequency generators. It is then passed through filters and manipulated by the resistive string-based manuals. Frequency and intonation are varied relative to the position of the player’s finger along a length of non-conductive string and to the amount of pressure applied. This resistive string is suspended above a conductive metal strip between a pair of posts. A small voltage is applied to the posts so that when the string touches the metal strip below, the player manipulates a voltage-controlled oscillator. A series of metal tongues, also non-conductive, hover above the string. These are placed at scale intervals and can be used like keys.
This early synthesizer is capable of producing many kinds of sounds, from crisp chirps to wet, slapping sounds and everything in between. In fact, all of the sound effects in Alfred Hitchcock’s thriller The Birds were produced on a modified Trautonium by the instrument’s one and only master, [Oskar Sala]. He went on to score hundreds of films by watching them with the Trautonium at his fingertips, recording and layering his compositions into an eerie wall of sound.