Category Archives: Electronics

Virtual Pickups Part 2

      DSP, Electronics, Filters, Neo Series, Pickups
Share Button

Last week, I stated that given a multichannel pickup with a wide and flat frequency response such as the Neo, it is possible to reproduce the frequency response of various pickup positions (bridge, neck, middle —anywhere from the nut to the bridge) without actually moving the pickup. But we can do better! We can actually emulate multiple pickups using multiple comb filters. Scroll down for some sound clips!

To be clear, I am not aiming for emulation of specific guitars (On Emulation, July 2013). I want to use emulation only as a starting point so the user will have something familiar to start with. Once that is established, we can move on to explore entirely new tonal palette —timbres we’ve never heard before. It’s just one of the filtering possibilities, and one that we guitar players are familiar with.

To recap, we can use comb filters to simulate pickup placement. A Feedforward comb filter with a delay of 133.78 samples (at 44100 samples per second) can simulate the neck pickup for the low-E string. By varying the delay line, you can simulate various pickup placements.

Feedforward Comb Filter

Feedforward Comb Filter

Again, if you want to learn the math, read the splendid article by J. Donald Tillman: Response Effects of Guitar Pickup Position and Width. I am using that as reference in this article.

Delay lines and comb filters are quite powerful beasts. They are the fundamental building blocks of Waveguide and Karplus-Strong Synthesis, which we’ll explore in the future. To give you a hint, we’ll be combining processing and direct manipulation of sound together with synthesis.

Two Pickups

I particularly like the neck plus middle pickups on a Strat or Super-strat (e.g. SSS, HSH), especially when playing clean. I love the glassy, chime-like timbre. It’s the interaction between the two pickups that gives it its nice flavour (it is well known that this switch setting was discovered by accident). Here’s the computed frequency response of the neck plus middle pickup on the Strat. This graph was lifted from another Donald Tillman article about Response Effects of Guitar Pickup Mixing.neck-middle-spectrum

Following the article, I was able to build the comb-filter configuration in the figure below:

Cascaded comb filters

Cascaded comb filters

Where D1 is the average pickup delay of two pickups: (P2 + P1) / 2 and D2 is the distance between the two pickups divided by two: (P2 – P1) / 2. I won’t bore you with the math. Again, if you want to know more, read up on the articles mentioned above.

The cascaded comb filters are basically the same as before, but notice that the gain of the second comb filter is +1. It is called a Cosine Comb filter. The first is a Sine Comb filter. They behave differently in terms of frequency response. The Cosine Comb filter has unity gain at D.C. and has nodes that only occur at odd multiples instead of at all multiples.

With that configuration wired up in C++ code, I was able to get the expected frequency response:


Neck plus middle pickups frequency response.

Take note that these are actual frequency response plots. I am using Blue Cat’s FreqAnalyst, a realtime spectrum analyser plug-in, to monitor the output using a sine sweep from 20Hz to 20kHz as input to the filter. These graphs correspond exactly to the computed plots in the Response Effects of Guitar Pickup Mixing article.

Three or more Pickups

Alas, the two pickup configuration above does not extend to three or more pickups. That’s where the article stopped with a rather unfulfilling conclusion: “It’s pretty complicated; I will not be going in an analysis of this here”. So it took quite a bit of time for me to figure out how to implement mixing multiple pickups. You can’t just run the filters in parallel and mix the results, no! If you add two sine waves, both 1kHz, the result will not necessarily be 2x sine wave at 1kHz. If the sine waves are out of phase, you will get 0! They will cancel out. We need to account for the phase! Now, we are going into the Superposition territory.

To cut the long story short, the bottom line is that you need to adjust for the additional phase (delays) for each pickup relative to a fixed reference point. That reference point is arbitrary. I chose the middle of the neck as my reference point. That way, I can dynamically move the pickups anywhere from the bridge to the 12th fret (Say again? A pickup in the 12th fret?), in realtime, while performing!

The diagram below depicts the three comb configuration for simulating three pickups:


Three pickup emulation using comb filters

This configuration can be extended for any number of pickups. What’s really nice about this configuration is that it is also possible to do all sorts of nifty things such as reverse phase connections and arbitrary control of mix levels for each pickup. Adjusting the mix between the two pickups makes it possible to cancel the fundamental, for example.

D1, D2 and D3 are the individual pickup delays as usual. D1C, D2C and D3C are the phase compensation delays. They are there to normalise the phase of each pickup to a common reference point at ½ the full length of the guitar from the nut to the bridge (i.e. the 12th fret). Given Ref, the reference point delay, D1C, D2C and D3C are computed as follows:

D1C = (Ref – D1) / 2
D2C = (Ref – D2) / 2
D3C = (Ref – D3) / 2

For example, for the low E string (at 82.406889 Hz), and a sampling frequency at 44100 samples per second, the reference delay, Ref, is (44100 / 82.406889) / 2 = 267.574717. D1, D2 and D3 are computed as ratios using the actual pickup positions of a Strat with a 25.5 inch scale:

Neck Pickup: 6.375 inches from bridge = 133.7873585 samples delay
Middle Pickup: 3.875 inches from bridge = 81.3217277 samples delay
Bridge Pickup: 1.625 inches from bridge = 34.10266001 samples delay

The observant reader will notice the fractional delays used here. They are needed for accurate frequency computations.

So, finally, with this three comb filter configuration, I was able to recreate the graph near the bottom of the Response Effects of Guitar Pickup Mixing article. Here’s the computed frequency response:

Frequency response plot for an even 33/33/33 mix of the neck, middle and bridge pickups.

Here’s the actual frequency response:


Neck plus middle plus bridge pickups frequency response.

Sound Samples

Finally, here are some audio samples. These are all recorded without effects (except the comb filters of course) from a Neo6 master sample (sustained E string). Yes, all these timbres came from a single source pickup!

Raw Neo (No filter)
Neck + Middle
Neck + Bridge
Neck + Middle + Bridge
Middle + Bridge
Pickup at the 12th fret

‘Till Next Week

Okidoki, that’s it for today. Next time, we’ll wrap up this three part article with a few more bits and pieces such as simulation of pickup aperture and compensation for the comb filter notches of the actual pickup. We’ll also cover emulation of humbuckers. Also, we might touch up a bit on user interfaces and real time control.

Further Reading


Virtual Pickups Part 1

      DSP, Electronics, Filters, Neo Series, Pickups
Share Button

It’s Sunday. What better way to spend the day than to do some DSP hacking. Today, it will be about Virtual Pickup Placement.

A well-known DSP guru remarked, “When you think about it, everything is a filter”. Given a multichannel pickup with a wide and flat frequency response such as the Neo, it is possible to reproduce the frequency response of various pickup positions (bridge, neck, middle —anywhere from the nut to the bridge) without actually moving the pickup.

This can be done using delay lines. I love delay lines. There’s a lot you can do using delays. Here, I’m not talking about echoes and reverbs. I’m talking about delays in the nanoseconds to milliseconds range with or without feedback (like the chorus or flanger, respectively) possibly with multi-taps. A delay line is a filter!

If you like math, here’s a good article explaining all these: Response Effects of Guitar Pickup Position and Width. If not, I’ll try to explain it as simply as I can.

Standing Waves

The string is a very resonant filter. It’s all about standing waves. When you pluck an open E string, it vibrates in multiple ways. Try it and observe. You’ll see waves like these happening all at the same time:waves The most obvious is the fundamental frequency centered on the 12th fret (In the figure above, imagine the nut at the left and the bridge at the right). If you have a keen eye, the other harmonics are quite visible too (Get a strobe light, if you have one, to freeze the waves!). No, your eyes can’t really see a wave moving at 82 cycles per second (the open E string frequency). Instead, what you are actually seeing are the standing waves.

Nodes, Antinodes and Pickup Position

Some definitions: A node is a point where a string has minimal motion and an antinode is the point where the string has maximum motion. The 2nd harmonic, for example, has a node exactly at the middle (the 12th fret). It has two antinodes at ¼ (the 5th fret) and ¾ the length of the string. The fundamental has nodes only at the nut and the bridge and an antinode in the middle (the 12th fret).

Now here’s the thing: if you place a pickup pole at a certain node, the harmonic, and its multiples, will be attenuated. On the other hand, if the pickup is positioned at an antinode, the harmonic, and multiples thereof, will be prominent. For example, the Strat neck pickup happens to be positioned at about ¾ the distance from the nut to the bridge. Hence, that pickup will not be able to sense the 4th harmonic and all its mulitples (8th, 16th, etc.). Take note however that the Strat’s neck pickup also happens to be placed at an antinode of the 2nd harmonic (see figure below). These are the reasons why the 2nd harmonic is very prominent (stronger than the fundamental in fact) and for the dead 4th harmonic of E, when using the neck pickup.bridge-nodes

Comb Filters

The effect of pickup placement gives us a frequency response like that of a comb filter. It is called a comb filter because its frequency response consists of a series of notches and spikes reminiscent of a comb. There are two varieties: feedforward and feedback comb filters.

The Feedforward comb filter subtracts a delayed version of the signal from the incoming signal. A good example of a Feedforward comb filter is the Chorus effect. The Feedback comb filter reverses this configuration. The Feedback comb filter mixes the incoming signal with the delayed version of the outgoing signal, fed back to the delay line (feedback). The amount of signal being fed back should be less than 100% for this to be stable, otherwise, you will get infinite repeats. The flanger is a good example of a Feedback comb filter.


For the E string, at 82.41 Hz, and the pickup positioned ¾ the distance from the nut to the bridge (the Strat neck position), the nodes will start from 329.64 Hz (82.41 Hz x 4 —the 4th harmonic), repeating in regular intervals (multiples of 329.64): 659.28, 988.92, 1318.56, 1648.2, 1977.84, 2307.48, 2637.12 and so on.

The article I mentioned above (Response Effects of Guitar Pickup Position and Width) includes this graph of the computed frequency response:

Computed Frequency Response of the neck pickup (E string, 82 Hz, 25.5-inch scale, pickup located 6.375 inches from the bridge).

This spectrum is equivalent to that of a feedforward comb filter. I hacked one in C++ and the actual result I got was exactly as expected. This is the actual frequency response:

feedforward-spectrumTo get the graph above, I wrote the comb filter as an AU plugin so I can use it in Logic Pro (my preferred audio workstation). In this test, I used a sine sweep from 20Hz to 20kHz as input to the comb filter plugin. I am using Blue Cat’s FreqAnalyst, a realtime spectrum analyser plug-in.

The example above is for the low E string. You will need one of these comb filters per string because the length of the delay is related to the frequency of the open string. At 44100 samples per second, the delay line for the E string will require at most 535.12 samples (44100 / 82.41). What? 535.12 samples? Yes, that implies that we actually need fractional delay lines using some kind of interpolation. To simulate the neck pickup, you will need a delay of 535.12 / 4 = 133.78 samples.

By varying the delay line, you can simulate various pickup placements and even smoothly change the pickup position in realtime while performing!

OK, that’s all for now, next time, we’ll talk about simulating two or more pickups, we’ll investigate other factors such as pickup width and how to compensate for the effects of the actual (non virtual) pickup placement. We’ll also talk about user interfaces and other details pertaining to performance and control of a multichannel pickup.

Further Reading

  1. What is a Filter?
  2. Standing Waves
  3. Standing Waves and Musical Instruments
  4. Response Effects of Guitar Pickup Position and Width
  5. Guitar Pickups – Tone & Timbre
  6. Comb Filters
  7. Fractional Delay Filtering by Linear Interpolation

NeoM Modeling Pickups

      Electronics, NeoM, Pickups
Share Button

Here’s some exciting news! Tired of the same old 50s Mojo? We will soon be releasing two new full-range pickups designed for modeling: the NeoM SC (single-coil) and NeoM HB (humbucker).

(Update: the switches may be removed. See comments below. Instead, we will provide optional resonant filters as an add-on. Tell us what you think!)



What is modeling? If you’ve seen the demo of the Neo multichannel pickups, we were able to easily sculpt the tone using EQ matching to capture the frequency response of another pickup or even an acoustic guitar. There’s so much flexibility and power there!

A full bandwidth pickup will give you complete freedom to shape the frequency response —it’s the perfect blank canvas.

The NeoM Modeling pickups have the same flat frequency response as their siblings, the Neo Series Active Multichannel pickups. These are active pickups utilising very low impedance (Lo-Z) coils with an ultra low-noise preamplifier to boost the lower level Lo-Z signal.

Thanks to modern SMT electronics, the NeoM pickups also feature a built-in resonant filter right there in the pickup, allowing you to sculpt the tone from twangy 50s Mojo to crystal clear HiFi, without requiring external tone controls or equalisers.

Unlike the original Neo series, these pickups are meant to be installed just like any other active pickup. We will provide an easy install (no soldering) system. All components are premium grade. No cutting corners!


A double-coil humbucking variant will also be available. Both versions incorporate the same Lo-Z technology from its predecessor, the Multichannel Neo Series. Both boast extremely low noise preamplifiers. Like the single-coil variant, the humbucker also contains a built-in resonant filter. Both versions are noiseless.



Resonant EQ

Technically speaking, a pickup is an audio voltage source followed by a second-order lowpass filter. The tone (colour) of the pickup is characterised by its cut-off frequency and its resonance contour —the so-called Quality factor or simply Q. The NeoM has a couple of switches for setting the cutoff-frequency and Q plus an additional bypass switch (if you need to get the full, flat frequency range). The switches are slightly recessed to avoid accidental switching.


Resonant Filter

The controls give you 9 of preselected voices (3 x 3), plus bypass to full-range, for a total of 10 voices per pickup!

F Control

The F switch controls the cutoff-frequency. Lo is preset to 2kHz, Mid to 3kHz and Hi to 6KHz. These are the frequencies that give you the classic tones of electric guitars that we all can’t ever get enough of. We’ve done a lot of frequency analysis with many hours of listening tests before we arrived at these sweet frequencies.


Cutoff Frequency

Q Control

Q controls the resonance of the filter and determines the steepness of the curve. There are three Q presets Lo, Mid and Hi. The higher the Q, the narrower and sharper the peak is. A narrow peak gives a more pronounced filter effect at the cutoff-frequency. A gentler slope gives you a mellower, rounded tone.


Quality factor

As you can see in the graph above, a higher Q produces higher gain. The Q switch compensates for the gain at each setting (1.0 [0dB], 2.5 [8dB] and 3.75 [12dB]) with a corresponding gain reduction before the filter so we have constant gain for all Q settings. This prevents the filter from clipping and produces an overall balanced output regardless of switch position.


Compensated Q settings

The Infinity Project

      Design, DSP, Electronics, Hardware, Infinity, Neo Series, Open Source, Pickups, Software
Share Button

We want to push the limits of what we can do with the electric guitar. The Neo project (starting from the Six pack project) is a stepping stone towards our goal. And from the very start, our goal has always been polyphonic sustain. Polyphonic sustain, plus extensive processing for each string, will give us musicians full control over the dynamics of the guitar. This is my holy grail and as you can see in our previous proof of concept demonstration, we’ve come closer to that goal than ever before.

Presenting the Infinity Polyphonic Sustain system:


Digital Control


Driver coils with integrated amplifiers.

It takes a lot more than just slapping together six EBows. A very early prototype employed a 6x analog feedback system just like the Ebow. It worked but was rather unwieldy and impractical. The phase at the driver (neck position) lags behind the phase at the pickup (bridge position) and you need some form of phase shifting (using analog filters) to align the phase properly for sustained oscillation. Without phase shifting, you have to use more force than necessary to get the string to oscillate, and that wastes too much power.

All it should take is a little nudge. That’s what I always say. I think current breed of analog sustainers inefficiently use too much power. If you pull at the right moment with just the right amount of force, you can get something to oscillate indefinitely. That’s the essence behind sympathetic resonance. With just a little amount of force, at the right frequency (and phase!), you can make a very sturdy bridge collapse, for example.

We favor a digital approach with a microcontroller (MCU) doing the phase and frequency locking and synthesising a waveform that’s fed back to the driver (more on this later). A digital system vastly simplifies the required electronics. The MCU can do the phase corrections, analyse the envelope of the input and control just the right amount of signal to drive each string to oscillation.


Acoustic synthesis

A digital system buys us a lot of flexibility. For instance, with a digital system, we can feed any kind of waveform back as long as it is coherent with the input. Recently, we’ve tried square, pulse, triangle and sawtooth. Wave tables would be cool, for example! How about samples of bow noises or wind blow noises? How about the human voice? Guitar or Piano samples? That might be cool. And, needless to say, there are no nasty squeals that plague analog feedback systems. It’s just pure sympathetic resonance!


Acoustic synthesis is a powerful concept. It involves the creation of new sounds by controlling the vibrations of actual physical objects, in this case, the strings.

I’m sure most of you are aware that hexaphonic sustain has been done in the past with the Moog guitar (or the more recent Vo96 Acoustic Synthesizer). So what makes this project different? Unlike the Vo96 —a pure acoustic synthesiser, we opt to combine both traditional synthesis and acoustic synthesis.

EnvelopesThe Moog guitar, and the newer Vo-96 system use pure acoustic synthesis and advertises zero post processing. In my opinion, that is not necessary. You do not need an elaborate system for controlling everything, including timbre and dynamics. Just because you can do something, doesn’t mean you should.

Instead of pure acoustic synthesis, we prefer to post-process the polyphonic signal. You can do a lot with post processing on individual strings including control of attack and decay. An advantage of our approach is that it is simpler, requires less power, and does not require special strings! You only need to get the string sustaining, plus introduce some harmonics along the way. There’s so much potential in polyphonic processing that the Vo system shuns. A simpler system should cut the cost down considerably.

For example, we will not perform sustain dampening acoustically like the Moog did (the banjo effect). Instead, we intend to do DSP processing for each string. With post-processing, it’s easy to sculpt an envelope to achieve the muted banjo like effect. DSP processing will give us full control over the dynamics of the guitar (e.g attack, decay, sustain in addition to harmonic control). With these controls, you can have anything from banjo like short-sustain to long piano-like sustain and of course, infinite sustain.


But it should not be limited to dynamics control. We’re also looking at timbre control and the injection of harmonics using various forms of synthesis techniques such as Waveshaping for timbre control (polyphonic fuzz in steroids!) and Kurplus Strong synthesis (e.g. having a number of virtual strings in memory excited by the inputs from the Neo pickup potentially modifying the parameters in real time). You can have drone strings, doubles, triples, etc. There will also be pickup placement simulation (using comb filters and short convolution for applying captured impulse response of other instruments (e.g. acoustic guitars).

The software is hosted in your laptop (or desktop). A software plugin (AU, VST, RTAS, AAX) does the multi-channel post processing and control; sending downstream MIDI data to the MCU inside the guitar for controlling feedback. The in-guitar MCU can also send upstream MIDI to control performance parameters (e.g. volume, pan, pitch-bend, cutoff-frequency, resonance, etc.) using potentiometers and other forms of user-control hardware directly from the guitar.

Further Reading

To Infinity and Beyond!

      Infinity, Neo Series, Pickups, Sustain
Share Button

The Infinity Project

Hey, we have a New Project! Here’s a very early prototype of the Cycfi Infinity Polyphonic Sustain System. The proof of concept video above demonstrates dual sustainer drivers at the neck position with the Neo6 polyphonic pickup at the bridge. In this demo, the sustain drivers drive the two upper strings (B and E). The high, thinner strings are the most difficult to drive due to low mass and weak magnetic pull. The thicker strings are a lot easier to drive into infinite sustain.


Infinity v0.1

We use plain D’Addario Strings (0.009 – 0.042 super light gauge). The output of the Neo6 is summed to mono and goes to a Marshall combo with the treble set to zero, a bit of bass and mid. The amp is mic’d (Shure SM57) and recorded using Logic Pro, no guitar effect plugins, flat E.Q., a bit of reverb and a touch of delay.

The strings are driven into sympathetic resonance using both hardware and software phase and frequency locking mechanisms. The drive waveform is synthesised from the polyphonic signal coming from the Neo6 pickup. The polyphonic drivers are driven at the fundamental frequency of the vibrating string with additional controlled odd and even harmonics.

More info to come. Stay tuned!



      How To, Neo Series, Pickups
Share Button

Audio_mixer_fadersHow do you wire the Neos?

The initial release of the Neo series polyphonic pickups was for DIYers, serious hackers and guitar builders. The Neo is not your typical pickup. You can’t install it just like any other pickup. It is polyphonic and requires more work to set-up properly. In Cycfi’s FB page, Steve Hodge comments: “A full system would be excellent. I love the concept but have no idea how to hook it all up”. Soon, we will provide support infrastructure such as breakout boxes, controls, and multi-pin cables and connectors to make it easier for anyone to use the pickups.

In the meantime, for those who are adventurous enough, it’s really not that difficult. You don’t really need an elaborate setup to get into polyphonic string processing.

Allow me to reply to an email from Sam Park:

Continue reading

Iron Man

      Infinity, Neo Series, Pickups, Sustain
Share Button
Iron Man Test Guitar

Iron Man Test Guitar

Meet Iron Man, one of our test guitars. You’ll immediately notice a Neo6 in the bridge position. But what is that thing in the neck position? Can anyone venture to guess? Hint: click to zoom and you’ll probably notice 6 more staggered, rectangular coils in there. If you can guess what it is, you are looking a very early prototype. Friends, this is our future! 

First batch of Neos shipped

      Neo Series, Pickups, Release
Share Button

shipment We shipped the first batch of Neos. Yay! To all early adopters, a warm THANK YOU. To those who were left out because the initial release was intended for DIYers, serious hackers and guitar builders only, we are working hard on addressing your needs and requests. Right now, we are in the process of prototyping support infrastructure to make it easier for anyone to use the pickups. A full system for end-users is in the works, including a breakout box for ease of use. I’ll also be I will be posting a series of how-to instructions. Hopefully that will help those who are interested in using the pickups but don’t have any idea how to yet.

It’s Official: Neo Series Now Available

      Events, Neo Series, Pickups, Release, Store
Share Button

Easter, April 20, 2014. Today marks the official public release of the Cycfi Neo Series Active Polyphonic Pickups. After a long wait, the Neos are now available! As previously noted, we will have a very limited, initial production run. All items are inspected and fully tested according to very strict specifications. The Neos are now available for sale in our online store.

We invite you to join us explore this new exciting world of Polyphonic String Processing. The journey is just beginning!

Neo Series
Neo Series

The Neos are very small, Neodymium-core active pickups that can be used individually or in groups. These are hacker friendly, general-purpose pickups that can be used in a variety of applications. These are active pickups with low impedance coils and individual balanced, low-power, low-noise preamplifier for each coil. Neo1 conains a single coil with a single differential preamp. Neo2 contains two coils and dual differential preamps. And Neo6 contains six coils and six differential preamps.

This release is for DIYers, serious hackers and guitar builders only. The basic assumption is that you know what to do with the pickups and you have prior experience with guitar building or at least customization. With the electronics involved, you know how to at least read wiring diagrams and are not afraid to do some soldering. The Neo is not your typical pickup. You can’t just plug it in a standard guitar amplifier, for example. You can’t use your standard 5-way or 3-way switch, nor can you use your typical volume and tone potentiometers.

There were quite a few queries from end-users asking how they can use the Neo or how to install the pickups in their guitar. If you are one of those folks who want to get into polyphonic pickups and processing, but have no idea yet how to proceed, well, you might need to get some help from someone with a solid background in electronics to do the installation for you. If you are a very adventurous DIYer and want to learn by yourself, we will of course be happy to assist you in any way we can.


Here come the Neos!

      Electronics, Neo Series, Pickups
Share Button


The first batch of Neos… A few more tests and we’re ready to go! It is a very limited production run, as planned. But it is a good first step nevertheless. For those who expressed interest, Thank You! We’re still a long way to go, but I would be scared to carry on with the journey without the positive encouragement of people who support the idea. It takes a lot of determination to think differently and go against the grain.