JH. String Filter
Back to JH. Homepage
In 2004, I built a String Filter - I even made a PCB layout for this,
which was untypical for me at the time. (Built most of my stuff on
veroboard back then.)
I liked it a lot, and I got a lot of positive feedback for the sound demos.
Unfortunately, the filter topology, a variant of the GIC filter and
probably my own invention turned out to be a failure: It worked, but I
only got it to work stable with NE5532 chips of a certain date code.
Hardly something I could publish for other DIY'ers to build.
Now, I've started that project all over again, with a different filter topology.
Also very different from the classic Electronotes single-opamp filters
(and as far as I can tell, also from Moog's string filter), I'm now
going for a two-opamp biquad topology. This generally not so well-known
filter uses two integrators like the ubiquitous 3-opamp state variable
and biquad filters, but unlike these, one of the integrators is
non-inverting: The so-called Deboo-Integrator.
But before I describe the new project, which will also be awailable as
PCBs (if everything work as intended, this time!), I insert the
information of my old string filter project here:
This was inspired by
Ian Fritz, "Filter Bank Design", Electronotes EN#107,
Bernie Hutchins, "A 39-Channel Variable Q Filter Bank", EN#115,
Arthur Benade, "Fundamentals of Musical Acoustics" 2nd edition 1990,
Kenneth Elhardts fascinating string sounds
A string filter has been on my personal wish list for a long time. The
above mentioned Electronotes articles give a good description what is possible
with multiple resonances, and also describe a feedback method to control
depth of the peaks and notches, starting with filters of fixed Q. And there
is the legendary (and rare) Moog CE String Filter that is based on a similar
The Moog filter uses Norton Amplifiers, Ian has used discrete transistor
circuits, Bernie has used Deliyannis filters with opamps.
My version is based on LC resonators, where the inductors are replaced
with 2 opamp, 4 resistor General Impedance Converters. The advantage of
this is that there are only 4 equal resistors, two equal capacitors, and
one dual opamp needed per partial filter, and that there are no trimpots
required - the downside is that the capacitors must be selected.
I've made a stereo version, where even filter numbers go to one output,
and odd filter outputs go to a second output. A "separation" potentiometer
allows everything from Mono to extreme Stereo panning. It turned out that
just a _slight_ amount of "separation" gives some pleasant room information
without messing up the impression of a single sound source.
In addition to this 40-band Filter Bank, I'm using some parametric filters
to emulate the Main Wood Resonance, Main Air Resonance, and Bridge Resonance
of various sized string instruments. I plan to make an individual filter
for Cello, Viola (Bratsche) and Violin, based on the plots in Benade's
book. Unfortunately, Benade doesn't give detailed dB levels for his courves,
so I have to try different gain and Q factors. So far, I have finished
the Cello Filter. (which still needs some fine tuning of the Q's and gain
factors, no doubt! Also have to find the right width of the Notch around
1.5 kHz for the Cello.) Viola and Violin will be next.
I don't expect to get the sound of real string instruments (this needs
some physical modeling of the bow/string system at least!) , but I want
to gain some "organic" quality for otherwise electronic sounds.
1: CS-50 dry and thru Cello Filter
CS-50 with typical electronic string sound: saw wave, filter quite open,
some vibrato and level boost via aftertouch. First dry, then run thru a
set of four parametric filters (Wood resonance, air resonance, bridge resonance,
bridge notch) and thru the 40-band GIC filter bank. (Sorry for the hum
- this was a quick and dirty recording and I have caught a bad GND loop.)
2: OB-8, GIC filter bank with variable feedback
Not related to string instruments. A percussive arpeggio from the OB-8,
first dry, then after 11 seconds switched to the 40-band GIC filter. Resonance
gradually increased. First just some warmth added, then quite unnatural
ringing of the filters.
To bee continued. Hints for improoving Q and gain factors welcome. Circuit
to be disclosed later - not quite finished at the moment.
Meanwhile, here are some pictures:
String Filter 2008
The biggest difference, compared to the old string filter, is
that the new one has trimpots. No more measuring and selecting
And the new one has voltage controlled resonance.
Here's a glimpse of what the new PCBs will look like: (You need two PCBs for a 40-band filter bank)
Prototype of String Filter 2008:
Simulated Frequency Response of 40-Band Filterbank (Board 1 + 2)
Cello Filter (will be part of a 3rd board, available in the future, together with viola and violin filters)
Filter Bank and Equalisation options
The Filter Bank part creates a lot of equally distributed resonance peaks - this
is responsibel for the "woody" character:
That's the part that is common to all string instruments, more or
(Board 1 + 2, what I'm taking preorders for now.)
The resonance control changes the height of the peaks vs. valleys for all
peaks in common.
The Equalisation emulates the frequency response due to body size
(dimensions of the wooden body and volume of air, plus dimensions of the
bridge). This is different for each instrument. The picture here http://www.jhaible.heim.at/string_filter/cello_filter_plot.jpg
the equalisation I'm using for a Cello. This, and similar EQs for other
instruments, will be on Board 3 (not specified yet).
Boards 1 + 2 are designed such that you can also connect 40 potentiometers
to get a fully variable 40-band filterbank. :)
If you do this (40 sliders anybody?), you don't need any extra EQing - you
can simply draw the courves with the slider position.
But I think a 40-slider filterbank is not for the faint of heart ... I just
wanted to mention it. :)
Part of the standard implementation, however: 4 toggle switches to thake
out every fourth resonant peak (or 2 out of 4, or 3 out of 4), for special
New Sound Samples
Fast OB-8 Arpeggiator transformed with String Filter
String-like OB-8 Sound made more string-like with String Filter
(This is just the 40-band Filterbank in action; no additional Cello-Equalization as in the sample from the old String Filter!)
Short OB-8 arpeggiated strings
2. 40-Band Filterbank and Cello-Filter breadboard circuit
4. 40-Band Filterbank only
PCB 1 + PCB 2 Schematics
Generic Overlay, as silkscreened on the boards
PCB 1, Component Values
PCB 1, Reference Designators
PCB 2 Component Values
PCB 2, Reference Designators
The component density in the actual band pass filter blocks is too
high to print all the component values or reference designators
onto the PCB.
But the 40 BPF blocks all have the same layout, so I'm giving a detailed view on one of the blocks in the picturte below:
Each BPF block has the following components, regardless of its center frequency:
A Dual OpAmp (TL072 or similar)
An array of 4 individual 10k resistors in a SIP8 package (or, alternatively, 4 vertically mounted 10k 1% metal film resistors)
Another 10k resistor "R_Mix"
A 10k multiturn trimpot
Each BPF block has the following individual components, depending on its center frequency:
Two capacitors CX1 and CX2, both having the same value CX (10% tolerance)
PCB 1 and PCB 2 are the same board from the factory - they only differ in which componets you solder in.
One resistor RQ (located near pin 5 of the OpAmp)
One resistor R_Tune (located near pin 7 of the OpAmp)
Therefore, you only find "CX" etc printed on the board, and the above
component overlay for PCB 1 and PCB 2 are mapped like shown below.
On the left is what you find printed on the board, and on the right is
what you find in the component overlay you can print out from this web
|Silkscreened on Board:
Location of RQ
Location of capacitors
SIL array outline only (value always 10k - not shown)
Dual Opamp (TL072 recommended)
Trimpot (always 10k)
R_Mix outline only (always 10k)
|What you can print out separately for PCB 1 and PCB 2:
Center frequency for this filter is 43.5 Hz
(printed in opamp outline; can be measured at Pin 7 of opamp)
RQ value for this individual filter is 220k
CX value for this filter is 0.47 uF (= 470nF)
R_Tune value for thi sfilter is 6k8 (=6.8 kOhm)
(R_Tune value printed in outline of trimpot for lack of space)
Is this confusing? It may look so at first glance. But once you have
the boards and the printouts in front of you, it will work like a charm.
(Hint: You won't mix up the trimpot value with the R_tune value once the trimpots are soldered in, and hide the "10k" print.)
Bill Of Materials
You may have noticed that the BOM mentions
heatsinks for the LM317 and LM337 voltage regulators, but no particular
heatsink has been specified.
There are footprints on the PCB for the same heatsinks as the Krautrock Phaser, but I do not
recommend using these. Even though I tried them and you can see them in
my prototype phote above. :) They get very hot (depending on the
transformer or wallwart secondary voltage). Because I've expected
something like that, I've placed the voltage regulators at the edge of
the PCB, metal part of the TO220 package facing outward, so you can
easily mount a big heatsink there, and this is what I recommend.
Important: This heatsink must be electrically insulated from the LM317 and LM337.
I won't describe the process of insulated mounting of TO220 packages on
heatsinks in detail here, as it's common practice. (Using thin mica
sheets between the IC and the heatsink.) Just make sure ther is no
electrical contact between the heatsink and the metal part of the
regulators. (Measure it!)
You can get an idea of a possible heatsink construction from this picture (of the Scanner Vibrato). You only need one heatsink for both regulators, but you have to insulate them.
If you have a metal enclosure with a smooth metal surface on the inside, you might be able to just use this as a heatsink. (Also with insulated mounting!)
If you build a +/-15V DC supply version, no heat sink is required, of course. (There are no on-board regulators then.)
Connecting the two boards
Here's how the two PCBs should be connected together.
To be continued ...
For more information, please contact
Copyright J. Haible (C) 2004 - 2008