It's time to embark on an epic journey into the realms of analog electronics. It's time to talk like a robot! Will you join me on my quest? C'mon, you know you always wanted to shout "Domo arigato, Mr. Roboto" into one of these things while mashing the synthesizer keys. OK, it's not exactly a guitar pedal, but it would work just fine with a distorted guitar (or any harmonically-rich source) and a vocal mic or another instrument, so I think it's well within the scope of this forum. It's also a really cool machine. Just ask Kraftwerk: . Or these guys:
Purpose
The purpose of this thread is to make the best analog vocoder possible, while keeping cost reasonable. I've read this forum for a few months, so I know there are a lot of knowledgeable and creative people here. If I've done something stupid, or you have an idea for an improvement, please let me know.
What is it?
A vocoder is a device which reads a frequency envelope from a control signal (usually a vocal mic), then applies that envelope to a carrier signal (usually a synthesizer). This is accomplished by splitting both control and carrier signals into many frequency bands, reading the envelope of each control band, then amplifying the corresponding carrier band according to that envelope. The end result is that you get to sound like a classic sci-fi robot. I think David Bowie's guitarist used something similar on 'Let's Dance', with the guitar controlling, and a brass section as the carrier. I'm sure there are other interesting combinations.
Channels
This sucker is going to have up to 14 channels, with adjacent channels' center frequencies being about half an octave apart, or 10^(1/6), to be precise. This allows for a bunch of identical PCBs to be used, with only the capacitor values changed from one channel to another, greatly saving on cost. This also means that convenient E6 capacitor values can be used, hence the 10^(1/6) frequency spacing.
Manufacturing
I'm planning to have Express PCB make boards for this thing, and since the recurring cost for the boards is reasonably small compared to the up-front cost, I can could order enough boards to make several vocoders, in case anyone else wants to build one. I would be happy to sell a set of boards to anyone who wants one at only the recurring cost, plus shipping. I expect one full set of boards will be between $100 and $150, and will need about $200 in parts to fully populate. I also plan to use one or more main boards, with sockets for each channel (1x14socket, 2x7socket, or 3x5socket). The individual channel boards will have plated tabs which press into the sockets, just like a video game cartridge. This will prevent the main board from becoming a tangled mess, and will keep soldering and wiring stripping work to a minimum.
Power
I'm anticipating it will be powered with a +/-12V split supply. A single 9V supply doesn't give it enough headroom, and it has so many op amps and draws so much current that a floating ground seems annoying to implement. It seems much easier to simply run it off a computer's ATX power supply. If someone knows of a simple way to do a floating ground for a large number of op amps, and has a convenient way to power it with a single supply, I'm all ears.
Idea and Improvements
I got the idea to make this from a project on the Instructables website: http://www.instructables.com/id/Build-a ... g-vocoder/
The pairs of multiple-feedback bandpass filters will undoubtedly work great, and the multiple inputs and stereo output (channels alternate left and right) with inverted phase look good. The input and output buffers looked very reasonable to me. It's necessary to invert the output of every other channel, otherwise destructive interference occurs, and the flat-ish frequency response is ruined. I re-worked the the bandpass filters into a configuration I liked better (using only E12 resistors) using this extremely helpful design calculator: http://sim.okawa-denshi.jp/en/OPttool.php
However, there are several things I didn't like. The envelope follower (EF) and voltage-controlled amplifier (VCA) specifically stood out as needing some work. The EF in the Instructables design turns out to work a bit like an on-off switch with a rather high threshold, rather than the linear gradient I would like. So, I did some research and modified the design, borrowing the clever (and functional) EF from the Rothwell Love Squeeze pedal, with a couple modifications for a more rapid recovery after a signal spike. I also replaced the Instructables VCA with the super nifty and economical JFET VCA I found here: http://electronicdesign.com/article/ana ... rolled-amp
I'm also not completely satisfied with the indicator LED (tri-color) system. It does indeed turn on each LED color progressively, but a fairly high voltage must be reached for the first color to turn on, then the others turn on within 0.7 volts of the first. It would be more ideal if the first one turned on at 0.5V, the second at 1.5V, and the third at 2.5V, for example. I don't know to achieve this, so I'm open to any suggestions.
Simulation
Falstad has an excellent analog filter simulator which allowed me to tweak the bandpass filters to a state I liked better than the original. The Java applet is here: http://www.falstad.com/afilter/
And here's the code to import:
Code: Select all
$ 1 5.0E-6 5 69 5.0 50
% 0 1183.069613694428
O 1168 368 1200 368 0
g 480 288 480 320 0
g 416 320 416 336 0
w 560 192 560 272 0
w 480 192 560 192 0
w 416 192 416 256 0
a 480 272 560 272 0 15.0 -15.0 1000000.0
r 480 192 480 256 0 180000.0
c 480 192 416 192 0 1.0E-7 0.0
c 416 256 480 256 0 1.0E-7 0.0
r 416 256 416 320 0 1800.0
r 352 256 416 256 0 33000.0
170 352 80 320 80 3 20.0 1000.0 5.0 0.1
g 688 304 688 336 0
g 624 336 624 352 0
w 768 208 768 288 0
w 688 208 768 208 0
w 624 208 624 272 0
a 688 288 768 288 0 15.0 -15.0 1000000.0
r 688 208 688 272 0 150000.0
c 688 208 624 208 0 1.0E-7 0.0
c 624 272 688 272 0 1.0E-7 0.0
r 624 272 624 336 0 1500.0
r 560 272 624 272 0 22000.0
r 560 96 624 96 0 22000.0
r 624 96 624 160 0 1500.0
c 624 96 688 96 0 1.5E-7 0.0
c 688 32 624 32 0 1.5E-7 0.0
r 688 32 688 96 0 150000.0
a 688 112 768 112 0 15.0 -15.0 1000000.0
w 624 32 624 96 0
w 688 32 768 32 0
w 768 32 768 112 0
g 624 160 624 176 0
g 688 128 688 160 0
r 352 80 416 80 0 33000.0
r 416 80 416 144 0 1800.0
c 416 80 480 80 0 1.5E-7 0.0
c 480 16 416 16 0 1.5E-7 0.0
r 480 16 480 80 0 180000.0
a 480 96 560 96 0 15.0 -15.0 1000000.0
w 416 16 416 80 0
w 480 16 560 16 0
w 560 16 560 96 0
g 416 144 416 160 0
g 480 112 480 144 0
r 768 112 832 112 0 1000000.0
r 912 304 976 304 0 1000000.0
r 912 656 976 656 0 1000000.0
r 560 448 624 448 0 22000.0
r 624 448 624 512 0 1500.0
c 624 448 688 448 0 6.8E-8 0.0
c 688 384 624 384 0 6.8E-8 0.0
r 688 384 688 448 0 150000.0
a 688 464 768 464 0 15.0 -15.0 1000000.0
w 624 384 624 448 0
w 688 384 768 384 0
w 768 384 768 464 0
g 624 512 624 528 0
g 688 480 688 512 0
r 352 432 416 432 0 33000.0
r 416 432 416 496 0 1800.0
c 416 432 480 432 0 6.8E-8 0.0
c 480 368 416 368 0 6.8E-8 0.0
r 480 368 480 432 0 180000.0
a 480 448 560 448 0 15.0 -15.0 1000000.0
w 416 368 416 432 0
w 480 368 560 368 0
w 560 368 560 448 0
g 416 496 416 512 0
g 480 464 480 496 0
a 832 656 912 656 0 15.0 -15.0 1000000.0
r 832 592 912 592 0 10000.0
r 832 640 768 640 0 10000.0
w 832 592 832 640 0
w 912 592 912 656 0
g 832 672 832 704 0
w 352 80 352 256 0
w 352 256 352 432 0
g 480 640 480 672 0
g 416 672 416 688 0
w 560 544 560 624 0
w 480 544 560 544 0
w 416 544 416 608 0
a 480 624 560 624 0 15.0 -15.0 1000000.0
r 480 544 480 608 0 180000.0
c 480 544 416 544 0 4.7E-8 0.0
c 416 608 480 608 0 4.7E-8 0.0
r 416 608 416 672 0 1800.0
r 352 608 416 608 0 33000.0
g 688 656 688 688 0
g 624 688 624 704 0
w 768 560 768 640 0
w 688 560 768 560 0
w 624 560 624 624 0
a 688 640 768 640 0 15.0 -15.0 1000000.0
r 688 560 688 624 0 150000.0
c 688 560 624 560 0 4.7E-8 0.0
c 624 624 688 624 0 4.7E-8 0.0
r 624 624 624 688 0 1500.0
r 560 624 624 624 0 22000.0
r 768 464 832 464 0 1000000.0
w 352 432 352 608 0
g 832 320 832 352 0
w 912 240 912 304 0
w 832 240 832 288 0
r 832 288 768 288 0 10000.0
r 832 240 912 240 0 10000.0
a 832 304 912 304 0 15.0 -15.0 1000000.0
w 976 304 1168 368 0
w 832 464 1168 368 0
w 976 656 1168 368 0
w 832 112 1168 368 0
http://www.falstad.com/circuit/#%24+1+4 ... .0+2+-1%0A
Outstanding design issues
1) Tri-color LED indicator triggers at too high a voltage, and not spread out enough
2) I don't know of a source for PCB sockets. I'm sure Mouser and Digikey have them - the trick is actually finding them.
3) Envelope follower tracking speed can always be improved
4) PCB layout not done yet (I will do this, but any suggestions or criticism would be appreciated)
5) Enclosure scheme has not yet received much thought