In general, we’re trying to keep noise out of our circuits. Somewhat inspired by this thread on DIYStompboxes, I thought it might be fun to build a circuit that could generate that “vintage background noise” sound so that I could make things sound like they’re being played back off a phonograph cylinder or an ancient 78rpm record or something.
It’s been an interesting little challenge and made me look at some different circuit elements and try a few different things.
I tried to keep it as simple as I could so it only needs a +5V supply. That meant no op-amps, so everything is done with a few transistors.
The sound consists of three parts; the Hiss, Crackle, and Pop. I did wonder about Snap, Crackle, and Pop, but (trademarks aside) Snap isn’t really that appropriate, and Hiss definitely is, so that’s how it finished up.
It sounds like this – first each element independently, then all mixed together. Note that the mains hum is just a result of my sloppy recording and not a feature!
The three elements are generated independently. The PIC does a good chunk of the work, producing three channels of digital noise, and two channels of random trigger pulses. The code is a modified version of the PENTANOISE chip, with two outputs tweaked to produce trigger pulses rather than plain noise. These trigger pulses are random lengths, and the Pulse1 output is much more frequent than the Pulse2 output. This gives us more crackles than pops. This felt right to me, but it’s just a question of taste.
Both the Crackle and Pop channels are identical, just voiced differently. Let’s look at the bits that make them up.
First is the envelope. This converts the 0-5V trigger pulses (top row) into a simple decay envelope. The capacitor and the resistor form a high pass filter which turns the pulses into a series of positive and negative spikes (middle row). The diode removes the negatives spikes, which leaves us with a series of simple decay envelopes (bottom row). The two channels have different decay resistors, with crackles being shorter and the pops being a little bit fuller.
Note that if the pulse goes low during the envelope decay, its level drops straight back to 0V – there’s no “release” stage on the envelope. Since the triggers are variable lengths, this means some envelopes will be more or less cut off than others. This helps randomise the output a bit more, and compensates for all the pulses being the same volume. The diode doesn’t do a perfect job of removing the lower spikes either, so in reality the envelopes look more like this:
The envelope is fed to a very simple VCA known as the Roland “Swing type” VCA. It appeared in the TR808 and DR110 drum machines amongst other places. It’s not hi-fi by any standards, but it’s fine for percussion voices, which is (sort of) what we’re doing here. The signal input of both VCAs comes from one of the noise channels.
You’d usually think of a VCA as using an envelope control voltage to control the level of a signal. But here, the VCA uses the signal to turn the envelope output on and off – the reverse. And it doesn’t really control the level either, just turns it on or off.
You can see below the envelope (top row) the digital noise pulses from the PIC (middle row) and the VCA output (bottom row). When the noise output is high, the envelope is passed to the output. When the noise is low, the output is grounded.
The third part of the Crackle and Pop channels is the tone shaping. This is just a passive lowpass filter followed by a passive high pass filter. For the Crackle, we trim the low frequencies and leave the highs in place to give us a brittle, trebley tone. For the Pop, we do the opposite.
The Hiss channel is just straight white noise from the PIC. It’s run through a lowpass filter to turn the digital noise signal into something more analog, and it also has its level reduced a bit, although it’s still much too loud.
The final part of the circuit is a single-transistor mixer. This is somewhat unusual since it uses the common-base arrangement, which you don’t see that often. I found the original single-transistor mixer circuit here and modified it to run at 5V.
There’s a lot of potential for tweaking this circuit to give different noise textures. You could alter the code to change how frequently pops or crackles occur. You could alter the decay resistors to change how long they last. You can alter the LP/HP filters to change how each channel sounds. You can change the mixer resistors to change the balance of the three elements.
One improvement I thought of but haven’t tried is to use a heavily lowpass-filtered version of one of the noise channels to produce a CV which could then control the volume of either the Pop or Crackle channel somehow.
I also think it could benefit from more channels of different noises, perhaps something bandpass-filtered or some differently toned speckles. Currently the sound is simple enough for the ear to differentiate the different parts. If it were a bit more complex, that wouldn’t be so possible and you’d hear it more as a single cohesive noise.
Is it worth all this effort to make a recording sound worse?! You’ll have to decide!
If you’d like to build one, here’s the full details:
Currently,there are no plans to offer the HISSCRACKLEPOP chip in the shop, so I’m afraid you’ll have to program your own chip, or find a friend to program one for you. If you’d like to see programmed chips in the shop, send us an email, and if there’s enough interest, we’ll do it!
Hiss, Crackle, and Pop by Tom Wiltshire for Electric Druid is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Here’s the legal stuff.