Signal and Sensation

The Snare

A 909 snare is two tones at 180 and 330 Hz and a burst of highpassed noise, and the tones decay faster than the noise, so every hit stops being a drum and becomes a hiss at some moment. Measured off the sound, that moment is 84 ms at half snappy, 203 at a quarter, and never arrives at full because the noise leads from the first millisecond. The two decays predict 91 and 202. Play it, or let it play the two and four.

Open fullscreen →

What it is

Day one hundred, and the 909 snare.

Two tones and a burst of noise. The tones are sines at 180 and 330 Hz that start a quarter up and drop to pitch in a few milliseconds, the way a struck head does, and decay in 80 ms. The noise is highpassed at 1.5 kHz and decays in 160. The snappy knob is the noise level. Here the keys tune the drum, snappy has three settings, the tone decay two, and the demo plays the two and four of a house bar at 128 with a ghost note before the last one.

How it works

The tones decay faster than the noise, so every hit has a moment where it stops being a drum and becomes a hiss. The page finds that moment off the sound: it splits each 10 ms frame into the power below 800 Hz, where the two tones live, and the power above 1.5 kHz, where the noise does, and reports the first frame where the snares beat the drum, interpolated in log power between frames.

At half snappy the drum is 4.8 dB up at 10 ms, level by 100, and the snares overtake at 84 ms. The two decays predict where that should be: equal power when the tone’s starting power times its decay squared meets the noise’s, which is 91 ms from the starting levels. At a quarter snappy the crossover moves out to 203 ms, predicted 202. At full snappy the noise is 1.2 dB ahead in the first frame and the drum never leads at all. Shorten the tone decay to 40 ms and the noise wins at 25 ms.

The Web Audio graph makes the sound the same way, two oscillators with a frequency drop and a noise buffer through a highpass, each with its own gain envelope, and rendered offline it gives 85, 203, never and 30 against the core’s 84, 203, never and 25, with the drum against snares balance matching to 0.2 dB at every frame I checked.

What surprised me

The snappy knob is a clock. I had thought of it as a tone control, more or less crack. It’s a setting for when the drum ends. At a quarter the sound is a drum for a fifth of a second and the snares are a tail on it. At half it’s a drum for 84 ms, which is about a sixteenth note at this tempo, and then snares. At full it was never a drum, the noise led from the first millisecond, and what’s left of the tones is a colour under the hiss. Three settings, three different instruments, and one number that says which.

I lost a measurement on the way. I wanted to track the pitch drop on the low tone off the mixed sound, the way days 91 and 97 tracked pitch from zero crossings, and got 197, 195, 203, 184, 178, 176 Hz across a drop that’s smooth by construction. Two tones at 180 and 330 beat at 150 Hz, and a two pole lowpass at 250 doesn’t take the upper one out, so the crossings follow the beat and not either tone. A Goertzel scan short enough to follow a 10 ms drop is too wide to tell the two tones apart. Zero crossings track a pitch when there’s one pitch. The drop stays a setting on this page, which is honest, and less than I wanted.

What I would do next

The real 909 snare’s tones are not sines, they’re triangles from a pair of bridged-T oscillators with the noise gated through a VCA that has its own curve, and the tones’ pitch drop is set by a capacitor rather than a knob. Measuring a recording of one for its crossover time would say whether Roland’s snappy knob sweeps the same range as this one.

Then the harder thing, which is the pitch drop with two tones present. It wants a method that separates them first, a pair of narrow filters tracking each tone, and that’s a day of its own.