Infinity Reloaded

      DSP, Infinity

Inf-Logo-2016Infinity… It’s all about sustain. Our goal is and will always be polyphonic sustain. Polyphonic sustain, plus extensive processing for each string, will give us musicians full control over the dynamics of the guitar. Sustain is one of the reasons why we drive amplifiers using excessive gain. We want to make the guitar sing, gently weep, or even scream like invading aliens about to decimate an entire population.

Yet, there’s still so much to be desired. We can only push the gain so much before noise dominates the trailing end of a sustained note. So we make it louder such that we induce feedback through the speakers. Or, we use sustain drivers such as the Ebow, the Sustainiac, or the Fernandez Sustainer. All of which can indefinitely sustain one note at a time (some say you can sustain more than one note, but I do not want to digress). What I want is controlled polyphonic sustain. It’s been done before, e.g. the Moog Guitar, or Keith McMillen’s StrongArm, but I’d like to offer an alternative solution with a modular architecture and an accessible open design.

It’s been a while since I wrote about the project. I’m working on the project on and off, interrupted by other matters, the biggest time drain of which is manufacturing the XR and the Nu! Oh, and not to mention that I am a full time C++ consultant as well. So, again, if there’s anyone out there interested in what we are doing and what we are producing, I welcome partnership very much. We pride ourselves on Research and Development and I very much want someone else to deal with manufacturing and production.

Shifting Targets

If you want to learn more about this project, type in “Infinity” in the search box at the upper right of this page (or just click this link). That should give you some links to my previous articles on the subject. Things have changed though and some of the details may no longer be relevant. The biggest change is that I am targeting a stand-alone polyphonic sustain driver now; one that fits the size of a humbucker pickup installed in the neck position. The Infinity driver should be easy to use —as easy as connecting to a power source and a sustain pot (at the very least). It should not even be necessary to have a multichannel pickup such as the Nu installed.

Having Infinity in the neck pickup position means you will lose your neck pickup. That is unavoidable. However, that restriction can be mitigated by using Virtual Pickup technology. Actually, the ideal setup I advocate is a single Nu Multi near the bridge and an Infinity driver near the neck. That is all you need! Of course, that assumes we have the Infinity driver available. I am doing my best to make that happen sooner rather than later.

So, the latest design does not require a separate multichannel pickup, because now, the driver coil is also the pickup. How can that happen? Typical sustain drivers are based on positive feedback that causes oscillation when the string vibrations sensed by a pickup is amplified (typically with automatic gain control), driving an electromagnet that forces the strings to keep on moving. The simplified diagram below illustrates the idea.


So how can you have a feedback loop with the input also being the output? Well, I don’t use feedback in the typical sense. I use the pickup signal only to track the pitch so as to configure a free running oscillator that ultimately drives the electromagnet that forces the strings to resonate. It is a frequency locked loop.

1) I need only two cycles to detect the instantaneous pitch and 2) it turns out that I can turn the electromagnet on and off at specific intervals and the string’s inertia will keep it moving. Hence, I can interleave pitch tracking and output drive in two phases: the read phase where I track the pitch and the drive phase where I drive the strings. In the read phase, the coil is a pickup. In the drive phase, the coil is an electromagnetic driver. The simplified diagram below illustrates the scheme.


This scheme presents a big advantage compared to the traditional positive feedback approach and is made possible by using an MCU (Microcontroller) instead of old-school analog electronics. Another advantage of using an MCU is that I can control multiple channels simultaneously using a sufficiently powerful processor. Duplicate the software, not the hardware! Note too that since the pickup and the driver are in the same position, the pickup is perfectly in phase with the driver. There are no phase delays to compensate for.

Power consumption is a problem. Naively duplicating analog circuitry for each string means multiplying current draw by N channels. That is simply out of the question. We need to do better. Somehow, we’ve minimized current draw by using highly efficient (greater than 90% efficiency) class D amplifiers and better coil configurations. I am also experimenting on a multiplexing mechanism that allows only one driver to be active at any given time. The strings have mass and therefore inertia, when set in motion. My thinking is that you only need the slightest nudge to keep the string going. We want to economize as much as possible.

There’s a downside to this interleaving and multiplexing approach though. Since we are no longer constantly driving the strings with a continuous waveform, it is no longer possible to change the timbre of the vibrating string using more complex synthesized waveforms with richer harmonics. We’ll just have to deal with timbre by means of signal processing. The function of Infinity will solely be for sustaining string oscillation.

Next time, we will delve into details, possibly with some code and actual scope shots. Stay tuned!