Totally tubular
2017-11-05 history MSK 007 music
It's just one thing after another with the Leapfrog. I'd been hoping to have them for sale by now, and I am getting close to that point. I actually have the stock of the first batch on hand and ready to sell now. But there's still a fair bit of writing to do on the manual, final checks to make sure all the drawings are up to date, a press release to write, and so on. I'm working on an ambitious demo track with about 20 multitracks of different instrument sounds all made with the Leapfrog, and that's taking longer than I had planned, but I'm learning a lot both about the Leapfrog and about synthesis in general doing it, so I thought it would be fun to go through one of the patches I'm using. The score calls for (General MIDI) "tubular bells"; here's my take on a sound something like tubular bells made with the Leapfrog, and some notes on making bell sounds in general.
Orchestral "tubular bells" are basically designed to give the sonic effect of church bells, since real ones are far too large and expensive for an orchestra to carry around. There's a lot of interesting science and history in church bells; for instance, a lot of the discrete-math subfield called "group theory" got its start in change ringing, a sort of competitive sport in which teams of bell-ringers attempt to ring every possible permutation of the bells in a tower subject to certain constraints. Today I'm focusing more on the acoustics of a single bell.
As I've written before, the spectrum of a sound made by a physical object can be roughly categorized by how many dimensions the sound-making thing has. Something basically zero-dimensional, like the voltage on a capacitor, or the place where a bow touches a string (as in a violin), usually produces an harmonic spectrum: for some fundamental frequency, the spectrum contains only varying amounts of integer multiples of that fundamental frequency. Things that are basically one-dimensional, such as the air column in an orchestral flute, or a string that is not bowed but vibrating free after being hammered (as in a piano), typically produce spectra that are nearly but not quite harmonic: the higher partials will be a little sharper or flatter than true integer multiples of the fundamental. That harmonic stretching can be important to the perceived timbre in some kinds of sounds, and it drives us nuts when trying to make the sound of a small plinkety-plinky type of piano with an analog synth, because it's difficult to make it sound right with the purely-harmonic waveforms that come out of zero-dimensional analog oscillators.
In the case of two-dimensional objects, like drum heads, there's still usually a spectrum of discrete spikes but they're no longer even a stretched version of the regular harmonic pattern; instead they're just a selection of seemingly-random frequencies associated with the modes of the vibrating object. And then when the sound source is basically three-dimensional, like the vocal tract of a person singing a vowel sound, the modes are so numerous that they lose their separate identities and the spectrum is better understood not as discrete modes but as a collection of frequency bands called formants, with continuous coverage of the frequencies within each formant.
With a big church bell, we're looking at the two-dimensional situation. Even though a bell is obviously three-dimensional, it is also hollow, and reasonably thin in comparison to its size. The vibrating object is best understood as the two-dimensional surface rather than the entire volume containing the bell. So it's going to have modes, and in principle those modes could be at unrelated frequencies. The major modes for a bell have precious traditional names like "Tierce" and "Quint," and in practice most of them are usually close to harmonics - that is, integer multiples - of a single fundamental which is called the "Hum note." The question of just how close to harmonic they ought to be has at times been controversial, and you can go read about an interesting court case they had about it in the 1920s. Current practice is usually to tune the partials of a big bell to harmonic relations with each other, and a bell tuned that way is said to be "in tune with itself."
However, a spectrum that really has only harmonics of a single fundamental just won't sound like a bell. A fairly minimal set of partials for a bell sound needs to contain the Hum (effectively the fundamental); Prime (one octave up, 2× Hum); Tierce (minor third above Prime, about 2.38× or 2.4× Hum); Quint (perfect fifth above Prime, 3× Hum); and Nominal (two octaves up, 4× Hum). Other, higher, frequencies exist too, but mostly only during the attack of the sound when the bell is being struck. For that reason, the higher partials are called "strike notes." Remember that in a traditionally-manufactured bell none of those multiples will be exact; the bell being two-dimensional instead of zero-dimensional, there is no physical process that forces them to exact multiples. But real bells can be tuned for exactly harmonic partials and still sound like bells... except for the Tierce, where the desired ratio is not an integer. It's not even clear what frequency an "exact" Tierce ought to be. Some sources seem to imply that it should be a 12-EDO minor third (which would be the irrational frequency ratio 2(5/4) = 2.378414...), but if we really drink the Simpsonian Flavor-Aid, then maybe it ought to be a just minor third with an exact frequency ratio of 12/5 = 2.4. Either way, we can't make it by subtractive synthesis on an analog synth oscillator running at the frequency of one of the other partials.
The best way to do it would be with additive synthesis: run a separate pure sine oscillator for each partial. Leapfrog VCFs in oscillator mode would work, and I'd love to have you spend several thousand dollars on a half-dozen of them and the associated control modules just to make bell sounds, but I can't see it becoming a really popular thing to do. For my recording project I wanted something I could do with my existing Eurorack modular synthesizer - while still using at least one Leapfrog because I'm trying to demo it - and that led me to a mostly subtractive synthesis patch. Here's the patch (click for larger image).
I'm using three oscillators mixed together. The two Z3000s are tuned two octaves apart, and the higher one is both synced to the lower one, and subjected to a little bit of FM using a fairly fast sine wave from the North Coast Fixed Sine Bank. The sum of those two is going to have strong peaks at the frequency of the lower oscillator (which will be the Hum frequency), at 2×, 3×, and 4× times that frequency for the Prime, Quint, and Nominal, and also some other stuff at higher frequencies which we will filter out except during the attack. Since the Z3000s are synced, the FM on the higher one will not really change its frequency; instead, it'll change the spectrum, making the higher partials a bit wobbly in amplitude. Real bells do not do that, but real bells also don't have perfect harmonics, and the wobble seems to compensate a little for the harmonic partials - the result sounds a little more bell-like with the FM than without it. The Hikari Sine oscillator supplies the Tierce, which I tuned to a 12-EDO minor third above the Prime. Note that that should be a pure sine wave, not a saw: real bells do not include a lot of energy at higher multiples of the Tierce frequency.
The mixture of the three oscillators goes into the Leapfrog filter, which cuts off the higher partials. On the control side, I've got the gate signal from the computer module at lower left driving two ADSR envelopes, one of which is used for amplitude and the other to modulate the filter. The pitch CV goes through the MSK 008 Octave Switch to allow a few more options for controlling the oscillators; and the MIDI-velocity CV from the computer is used to scale the amplitude envelope so that louder notes will actually be louder.
Despite having thought carefully through the theory behind what partials should exist and how the patch should be set up, after putting this together I ended up just adjusting everything for the sound I liked best and I suspect the result may not really be close to the theoretically best simulation of a real bell. In particular, I think I have the filter cutoff low enough to remove most of the Nominal tone (which ought to be the loudest one in a real bell). Best results seemed to come from turning up the mix on the Leapfrog input far enough to overload it, which creates intermodulation products at additional non-harmonic frequencies (but then the higher ones get filtered out, because it's still a super-sharp filter), so the spectrum gets a little more complicated yet. I also found that the patch doesn't sound good over a wide range of notes without readjustment; not a problem in the intended use because my song only uses a narrow range of bell pitches, but it became an issue when I wanted to make a shorter demo of just the bell sound for this Web log entry and the music I chose for that was in a different pitch range.
So with those caveats, here is what it sounds like. Not the very most bell-like sound, but it really does sound more realistic in the other track I'm working on (which I'll post eventually); and whether it sounds exactly like a real bell or not, the patch can be adjusted to produce a wide range of interesting sounds.
◀ PREV Preferred values for resistors and capacitors || Leapfrog press release NEXT ▶