[Russell Kramer] made our day today. We’re tremendous fans of minimalism in electronics design, dirty noise hacks, and that old NES light gun. He’s posted up a project that combines all three to make a light-gun controlled, VGA video display that makes bleepy-bloopy noises to boot. Check out the video below!
To appreciate this hack, you really need to read through the project logs in detail. Start with the VGA signal creation, for instance. The easiest way to go these days is to throw a microcontroller at the problem. But because he’s done that to death, [Russell] takes a step back thirty years and generates the sync pulses periodically with a relaxation oscillator and a binary counter IC. The rest of the build follows this aesthetic choice: everything is op amps and CMOS logic. The rainbow effect, for instance, is created from the audio signal through a three-stage, 120-degree phase-shift oscillator sent to the R, G, and B channels. Kudos!
The high-level overview is that the light intensity and position hitting the gun’s sensor is converted into a voltage that drives an audio-frequency oscillator. This audio output is then piped back into the video generator. Watching the video, it’s obvious that pointing the gun at different parts of the screen changes the pitch, but playing a given pitch is nearly impossible on this thing with all the feedback going on. [Russell] added a bit of more control into the system — when the gun’s trigger is pulled, it registers full-brightness regardless of the video input — but even so, we’d be hard-pressed to play “Mary Had a Little Lamb”.
But that’s not the point. The point is awesome, light-gun-waving noisy madness set to a responsive colorful video background. And that’s been achieved in spades!
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.