This is the third and final instalment of the Virtual Pickups series. I changed the title from Virtual Pickup Placement to better express the actual subject which will now go beyond pickup placement. This time, we will talk about simulating pickup width —its aperture. We will also talk about compensating for the actual pickup’s comb filter effect using an inverse comb filter. Finally, we’ll deal with the electrical characteristics of pickups.
Feel free to review the previous articles:
Referring to J. Donald Tillman’s article again, we will simulate the effect of pickup width. Pickups sense the string over an area spanning the width of the pickup’s magnetic field. This sensing area is the “aperture” of the pickup. Various pickups have different widths. The article mentions 1 inch for the typical single-coil and 2.5 inches for the typical PAF style humbucker.
If you read the first article in this series, you know that a single pickup point can be simulated using a feedforward comb filter. To simulate pickup width, we want to average all the points over the aperture of the pickup. Here are the computed frequency response of a 1 inch single-coil pickup and a 2.5 inch humbucker-stype pickup.
Notice the low-pass response with a 6dB per octave slope with unity gain at D.C. This is the effect of integration. I was able to replicate this frequency response using an integrator and a comb filter.
The filter integrates (accumulates) all the incoming signal and subtracts the delayed signal with a delay time proportional to the ½ the aperture size of the pickup. With a sampling frequency of 44100 samples per second, the delay line for the entire length of the E string will be 535.12 samples (44100 / 82.41). For a scale length of 25.5 inches and a pickup aperture of 2.5 inches, the delay line required will be: 535.12 x 2.5 / 25.5 = 52.46 samples.
Here’s the actual frequency response given the comb-filter configuration above for a 1 inch single-coil pickup and a 2.5 inch humbucker-type pickup.
These frequency graphs are exactly as expected. Now all we have to do is cascade that with our previous filters.
After some listening tests (I’ll share some more sound clips hopefully soon), I find the pickup width filters make the sound too muddy. The details are somehow lost. I think there are a couple of issues with the model Mr. Tillman proposes in his article. In this model, for example, he assumes that averaging the point response over the aperture length, while isn’t completely accurate, makes a fine first approximation. I don’t think I agree with that. The sensitivity near the poles is crucial. For actual pickups, the response falls off very rapidly beyond 0.4” (10 mm) from the poles (see Practical Pickup Measurements). Also, the aperture width of 2.5 inches for a humbucker and 1.0 inch for a single coil are too wide. I had better results with a 1.25 inch wide aperture for a humbucker. I’m not sure how he derived the 2.5 inch wide aperture. I measured the pickup width of a humbucker and it is indeed 1.25 inch wide. I also think that a zero (or close to zero) aperture width for a single coil sounds best.
In the end, for a humbucker, I find that simply placing two pickups side by side, spaced 0.68” apart, gives the best results. 0.68” happens to be the pole spacing of a typical PAF style humbucker. Here’s the frequency response I got:
Double virtual coils, plus a resonant low-pass filter (see Pickup Electrical Characteristics section below), sound very convincing for a humbucker.
Want to go further? The astute reader will ask: OK, but how about the response of the actual (non-virtual) pickup? Wouldn’t that have its own set of comb notches that imparts its own colour? Yes it will! And to compensate for that, we need an inverse comb filter. That can be done using a feedback comb filter. Recall:
The frequency response of a feedforward and a feedback comb filter, for the open E string, are as follows:
Notice that the Feedback Comb Filter Spectrum is the inverse of the Feedforward Comb Filter Spectrum. We can use a feedback comb as a pre-filter to negate the effect of the actual pickup. The amount of signal being fed back should be less than 100% for this to be stable, otherwise, you will get infinite repeats.
Pickup Electrical Characteristics
Finally, what we haven’t covered yet is the effect of the actual pickups’s electrical characteristics. This is the easy part! The guitar pickup is equivalent to this circuit (lifted from The Secrets of Electric Guitar Pickups by Helmuth E. W. Lemme):
This is a simple resonant low-pass filter (adjustable frequency and Q with a 12db per octave slope). The effect is independent from the scale length and string tuning and can therefore be placed after everything else. Ideally, you will need one of these per virtual pickup. More if you want multiple resonant peaks.
Here’s a link to a table of different resonant frequencies of some well-know pickups. The graph below is the EQ settings for a resonant low-pass filter set at 3.3 kHz and a Q of 2.5:
Photographs and Paintings
Let me reiterate that I am not aiming for exact emulation of specific guitars. I want to use emulation only as a starting point so the user will have something familiar to start with.
Accurate emulations can be achieved using convolution from sampled impulse responses of various instruments. Convolution with Impulse Responses can accurately capture anything: expensive microphones, vintage EQs, speaker cabinet response, full cathedral reverberations, etc. Essentially, anything that can be modeled as a filter can be captured. And yes, the guitar pickup as well as the guitar body are just filters!
One major drawback of convolution is that it is computationally expensive. Of course, we now live in a world full of very powerful multi-core processors, so that’s not really a problem anymore. Later, we’ll definitely take advantage of convolution. The math and the algorithms are already well established. We’ll have more on that soon!
Another drawback of convolution is the lack of intuitive control. With convolution, we work with sampled impulse responses which are basically raw waveforms in memory. It is possible to tweak an impulse response in the frequency domain (its spectrum), but that’s it. Doing so is like tweaking a very detailed EQ (much like editing a terrain map). The EQ’s frequency response does not say anything about pickup positions, pickup width, combining pickups, body resonance, etc.
The process of capturing an impulse response is sampling. A friend asked me once about the difference between a synthesiser (analog, FM, etc.) and a sampler. My analogy: the sound generated by synthesisers and samplers are analogous to paintings and photographs. Sampler files are like photographs. They are snapshots of the real world. On the other hand, sound generation using various forms of synthesis are like paintings. The artist uses various tools like brushes and paint to capture the real (or unreal!) world.
So here, I am donning a painter’s hat. I want to paint the sound, instead of taking a photograph of the sound. Later, I’ll wear a photographer’s hat and combine the best of both worlds.
There you go! Next time, I will present some C++ code! We’ll also see some more audio samples with combinations of these filters in action.
Get Rad and Prosper!
- Convolution Processing with Impulse Responses
- Response Effects of Guitar Pickup Position and Width
- The Secrets of Electric Guitar Pickups
- Measuring Impedance and Frequency Response
- Resonant frequencies of some well-know pickups
for various parallel capacitors
- Practical Pickup Measurements