Controlling Analog Guitar Efects with Teensy - Hybrid Multi Fx

Status
Not open for further replies.

cebersp

Well-known member
Hi,
The question was: How could you control Guitar Effects using a controller. Of course this makes even more sense, if you can combine the analog effects with the digital audio capabilities of Teensy. :) Perhaps there is some useful information here for others.

Guitar effects are typically running of 9V or even 18V supply voltage. As overdrive is an essential feature for sound creation, it would be not trivial to switch to lower supply voltages. (This is an important finding as most of modern ics cannot cope with higher voltages.)

To control a guitar effect like a fet amp simulation (http://www.uk-electronic.de/Download/Beschreibung Boogie.pdf), you need to be able to substitute potentiometers and switches.

Possibilities:
Digital Potentiometers. -No Higher Voltages. -Not easy to solder.
DAC with Voltage controlled amplifier: circuit has to be modified.
Analog multiplexer with discrete resistors: Max 16 V. A lot of effort.
So I ended using LDRs in combination with LEDs, which you can buy as "Vactrols" or make. They can cope with higher Voltages, they provide insulation, which can be very helpful to avoid noise problems. They are even used in Mesa Valve Amps.

So next question: how to control the brightness of many LEDs without bringing noise into the signal. One idea was to use this PWM module: https://www.adafruit.com/product/815 and combine it with a second order filter. RC-RC-Transistor. The filtering itself worked well, but the module sends a lot of noise "over the air". So PWM at 1600Hz was not a good idea.

The final version is to use a 16 channel analog multiplexer 74HC4067 (you can buy cheap breakout boards). One of the 12bit DACs of Teensy is connected via 4k7 to the common port of the mux. The different output ports of the mux are connected to capacitors, which act as analog registers. There is a background round robin software task, which recharges all the capacitors to their correct voltage. Analog Out.JPG
The MOSFET IRLU2703IR is totally overkill but it has low cutoff voltage of <2V and it is easy to solder. As the cutoff voltage is lost for control the low voltage is important.
(A second possibility was to use cmos-rail-to-rail opamps TLC2264, which did also work.) You can use different resistors R1 to select the range of brightness. Out of 4096 counts of the DAC, about 2000 are still usable. This kind of output can be used to switch relais too.


The range of resistance of these LDRs is about 500Ohms to several Meg Ohms. Guitar effects are typically high Ohms, so the lower limit is not a great problem. Often only a variable resistor is needed, so a single LDR is fine. A fixed resistor might be connected in series or in parallel or both to define the limits. A real potentiometer can be substituted with a LDR-fixed-resistor combination (4k7 works well often), if the potentiometer is sitting after a buffer like a opamp output. If you need a real potentiometer you could use two LDRs.

If LDR and LED both have diameter 5mm, then the assembly is very simple using shrink hose. You can squeeze the still hot tube to seal it at the ends.
20190621_160122.jpg20190621_160911.jpg

The LEDs are very high brightness (700mcd?), yellow.

I use an adafruit touch screen (https://learn.adafruit.com/adafruit-3-5-tft-featherwing), which is very nice to use because of the existing libraries. A library for the touch controller has to be modified, because Teensy is too fast. (https://forum.pjrc.com/threads/54982-TEENSY-3-6-ADAFRUIT-3-5-quot-TFT-touch-controller-issue> )
A problem here: while the screen is being updated, there is ugly noise in the signal. So dynamic display hat to be avoided. Parameters can be changed with a rot encoder. Parameters are always 0-99 for simple user interface and then translated to their log or lin or revlog range. Patches (parameter sets) are stored to the SD card. There is a LED for the level of the signal, because you want to use the 16bits best.

The signal flow is at the moment (Everything is still on a breadboard):
Guitar;
compressor (3LDRs);
Left channel of audio shield with parametric filter;
FET-Amp-Simulation (without tone stack) (2LDRs: Input and Output Level);
Right Channel with parametric Filter that can be modulated as "Harmonic Tremolo" as an option;
Freeverb;
Noise Gate;
Output to Amp (LDR: Level).

So the stereo channels are used not parallel but in series!
Multi_FX_F.jpg

Many thanks to all the people who have made the libraries!
You can find some discussion in German language here: https://musikding.rocks/wbb/index.p...FX-Interesse-an-einem-Forumsprojekt/?pageNo=4

I attach some code here as well, perhaps it is useful. The noise gate is a modification of an existing effect and works well. Harmonic Tremolo is quite nice.
View attachment MultiFx_G.zip

Have Fun!
Christof
 
Status
Not open for further replies.
Back
Top