Joined: 09 Nov 2006
|Posted: Thu Aug 09, 2007 4:29 pm Post subject: Using external controls to free up POT inputs
|I've been working on a guitar FX pedal using the FV-1, and one thing I'm doing to keep the POT inputs free is to incorporate external controls into the design. I thought some folks might be interested to hear what I'd done, so in the spirit of the open reverb license, here's what I have:
1. Sensitivity pot. A lot of the programs I'm writing use some kind of "morphing" or dynamic control, such as tremolo that changes frequency using the amplitude of the input for a control signal. Since any constant including ADCL or ADCR can be used to do math, this is super easy. But what if you want only a limited speed control range (using the above example?) You'd need to scale the control signal (in this case ADCL) with a POT input, and then you've lost your POT for another control. The easiest thing I've come up with is to buffer the input (this is a guitar signal so it needs some gain, too) and run full output into ADCL. Using the same signal off the buffer, I then feed ADCR though a pot set as a voltage divider. Adjusting the new sensitivity pot, I can control the overall amplitude of the signal entering ADCR, and I only need to do limited scaling in the FV-1, if at all, plus I get a POT input back on the chip.
2. Input gain pot. The sensitivity pot can be used as an input gain pot, too. Either just use the ADCR signal as-is (though at lower levels you will lose bit resolution and have more noise,) or do what I do and use the ADCR input to scale ADCL, to preserve full SNR going into the ADC for the audio signal.
3. Mix control. Similarly, by using DACL as our main output and DACR as a "mix" output, we gain another POT input to play with. I've got my FV-1 feeding a simple opamp mixer circuit with DACL going in full-strength and DACR though a voltage divider pot. Just make sure that your program outputs something to DACL AND DACR, or you'll end up with...
4. Output level control. This is pretty straightforward. There's no reason to waste a POT input as an output level control. Just a regular pot on the output signal gets it for you, and you get a POT input to use in your program.
Some additional notes on the output controls: Some effects sound best with straight signal mixed in (reverb, delay, flange, chorus, etc.) while others are best used with only effected signal (vibrato, tremolo, compression, autowah / filtering.) If you build your circuit using only the FV-1 you can use the chip itself to do your mixing, and you can control the levels any way you like - use the POT inputs to control levels, leave them fixed, whatever. With an outboard mixer, you can do an analog "dry" path and leave the signal out of the FV-1 "wet," relying on the mixer to do your summing and control the blend. The problem I ran into was that with the first scenario (mixing "in the box") I had to give up a POT pin for every program. The second setup (analog "dry") worked much better but I needed two panel pots or a dual "blend" pot (expensive) to get fully "wet" and "dry" signals. By using the two outputs of the FV-1 as described in 3. above, we get the best of both worlds. The Mix / Level control can adjust the mix of a blended signal (remember, since we control everything that happens "in the box," the signal coming out of DACR and going to the mix pot can be wet or dry or any mix) The Mix / Level control can also adjust the overall level of the FV-1 output if we don't output to DACL. If we only want "wet" signal with no overall level control (with tremolo, for example) we can just output to DACL and the Mix / Level control is bypassed.
Since the FV-1 is pretty much wasted as a single effect device, being able to control the output setup using just the current program is a very useful trick.