Monday, July 24, 2006
Effect: LADSPA Vocoder (Howto)

While working on a project, I decided I needed a Vocoder. A vocoder, for the uninitiated, makes the user sound like a robot, a cylon, a transformer... whatever you want. This is accomplished by mixing the formant (voice) with the carrier (synth sound, usually a drone). The combination results in something very strange and robot-like.
Back in the day, one needed an expensive vocoder unit to do something like this. Some VST plugins range up to $150 (Orange Vocoder). Now, however, Linux Rock Star's can do it with a plugin and a softsynth.
There's an excellent LADSPA plugin called, surprisingly enough, Vocoder. At the homepage, there is a good explanation of the workings of a vocoder. We'll look at making the vocoder work here, however. Having the regular LADSPA plugin pack, JACK, and Jack-Rack installed is a prerequisite for this. A realtime kernel patch doesn't hurt at all.
Pick up the plugin here. Now, you'll uncompress it in a directory and find a bunch of sourcecode. Before you compile and install this however, there is a patch that will make it work with Jack-Rack really well. Get the patch, provided by a very cool user on the Linux Audio Users group here.
Now the tricky part. Open up a shell and go to the directory where the files are. Make sure the patch is with the source code you unzipped. Now, type "patch vocoder.c stereo-0001.bin". This will modify the source code to make it jack-rack compatible. Now run "make" and "sudo make install" (it will ask for root password). It will put this with the rest of your LADSPA plugins, possibly overwriting the old vocoder (same thing without the jack-rack patch).
Now open up JACK and start it. Also launch jack-rack. Now you should see "Readable Clients" on one side, and "Writable Clients" on another. Both should have "alsa-pcm" in them. Now start up your favorite synth. This will be the 'carrier' of your robot voice. A good saw wave could do nicely, but be sure and try out all kinds of things. ZynAddSubFX, amSynth or a VST (polyiblit is shown) should do nicely.
Next, open up jack-rack. Click Add -> Uncategorized -> V -> Vocoder. This will add a vocoder to your effects chain in jack-rack. Here, you can choose the number of bands, etc. (I won't go into what that is here).
Now for the somewhat tricky part: First, in your mixer, select your recording source (microphone, for example) then go back to JACK connections. Click the (+) buttons next to jack_rack in "Writable Clients". Notice the two inputs. One of these will be the formant and one will be the carrier. Connect "alsa_pcm" under "Readable" to "in_1" under "jack_rack" in "Writable". Next, select the synth and connect it from its heading under "Readable" to "in_2" under "jack_rack" in "Writable". Click on the screenshot at the top of this entry to see what this looks like.
Everything's almost there. Next, either make the synth play a drone note and talk into the microphone, or play some notes and talk. By playing notes, the vocoder can, "sing" according to what is played. Welcome to robotland. Vocoder's can be a lot of fun. Experiment with it and have fun using Linux!
Acknowledgements: Thanks Linux Audio Users List.
Disclaimer: I'm not responsible if anything goes wrong or is messed up; you're on your own.



Read or Post a Comment
Hello DCZX! I just ran across Linux Rock Star and the blog is fantastic! I've added it to my daily bookmark folder and look forward to reading more. I'm very slowly working on getting my own GNU-based recording rig up and running. I'll be in touch with info about it when it's ready.
Thanks for all the good reading!
Kris Bergstrom
Thanks Kris, I'll look forward to hearing about your new rig!
Hey, thanks for this great tutorial. I was killing myself trying to get this to work before I came across your page.
However, your instructions regarding the JACK connections did not work for me on my Ubuntu machine. Instead of the part that reads: "Connect "alsa_pcm" under "Readable" to "in_1" under "jack_rack" in "Writable". Next, select the synth and connect it from its heading under "Readable" to "in_2" under "jack_rack" in "Writable","
I had to do the following:
Using the JACK connections, Connect 'out_1' of your synth (I use Zyn synth) to 'in_1' on the JACK Rack, and 'out_2' to 'in_2'. Under 'alsa_pcm', connect 'capture_1' to 'vocoder_1-1_i1' (I believe these extra vocoder connections are created by the beautiful patch you mentioned). Connect 'capture_2' to 'vocoder_1-2_i1', and lastly, JACK rack 'out' to alsa_pcm 'playback'.
I don't know why this would work so differently for me, but maybe they changed the plugin. In any case, I hope this helps someone.
If it wasn't for your article, I would never have got this working at all (the standalone vocoder program from the same site as the plugin won't compile on my machine at all).
When I get something recorded that is worth listening to, I'll let you know. Thanks again!
:-(
Here is my result in Ubuntu 7.04:
oksigeno@utopia:~/Desktop/vocoder-0.3$ make
cc -I. -Wall -Werror -O3 -fPIC -o vocoder.o -c vocoder.c
vocoder.c:24:19: error: stdio.h: Ficheiro ou directoria inexistente
vocoder.c:25:20: error: stdlib.h: Ficheiro ou directoria inexistente
vocoder.c:26:20: error: string.h: Ficheiro ou directoria inexistente
vocoder.c:27:18: error: math.h: Ficheiro ou directoria inexistente
cc1: warnings being treated as errors
vocoder.c: In function ‘instantiateVocoder’:
vocoder.c:111: warning: implicit declaration of function ‘malloc’
vocoder.c:111: warning: incompatible implicit declaration of built-in function ‘
malloc’
vocoder.c:113: error: ‘NULL’ undeclared (first use in this function)
vocoder.c:113: error: (Each undeclared identifier is reported only once
...etc, etc.
Hello Blog owner. Thank you, this is awesome. You are now my main source for all things cool in my new 64Studio, uh, studio.
thank you nice sharing
html kodları
bedava, oyun, cep ,program, symbian, video, temalar, s60, nokia, samsungcilt bakımıfirefox indirünlülerin resimleri
thank you nice sharing
Atv Euro 2008 izleAtv Euro 2008 şifre
thank you nice sharing
Atv Euro 2008 izleAtv Euro 2008 şifre
hi, i've been looking everywhere for a soft vocoder, and as another reader mentioned, i couldn't get the standalone to compile on my machine. when using the method you've outlined, at make and sudo make install i receive lines and lines of errors showing an undeclared state. i know this isn't a blog devoted to helping clueless users, but if you had time i would certainly appreciate some help. i'm in the middle of mixing a track on ardour and vocoded vocals would be the final touch.
thanks.
i actually got it to work! do you know if there is a way to isolate the vocoder track so the unaffected vocals aren't played?
My friend and I were recently talking about how technology has become so integrated in our day to day lives. Reading this post makes me think back to that debate we had, and just how inseparable from electronics we have all become.
I don't mean this in a bad way, of course! Ethical concerns aside... I just hope that as the price of memory falls, the possibility of transferring our memories onto a digital medium becomes a true reality. It's one of the things I really wish I could experience in my lifetime.
(Posted on Nintendo DS running [url=http://cid-2602f0e287041cef.spaces.live.com/blog/cns!2602F0E287041CEF!106.entry]r4i ds[/url] DS FFBrows)
Many thanks for sharing.
Thank you! I didn't know they picked up on it until I saw your comment.
top [url=http://www.c-online-casino.co.uk/]free casino bonus[/url] hinder the latest [url=http://www.casinolasvegass.com/]casino bonus[/url] unshackled no set aside reward at the foremost [url=http://www.baywatchcasino.com/]casino online
[/url].
http://www.webshare.cc/blog/b/blog_view.php?mid=547194&id=146&show_bbslink=
http://sns.cam111.com/blogs/entry/emergence-of-new-market-players-and-innovations
http://www.toma.jp/blog/aaa333/?entry_id=870937
http://www.bloglog.com/blog/fashion4/125905/it-039-ll-be-tough-and-it-039-ll-be-bright-yellow
http://jiumengshici.hatenablog.com/entry/2013/01/28/145228
http://aaa333333.cocolog-nifty.com/blog/2013/01/the-called-part.html
http://d.hatena.ne.jp/rrrtt/20130128/1359357889
http://prsites.biz/myblog-admin/most-people-suspect-the-printer-as-soon-as-these-problems-crop-up.html
http://mybronte.ca/jcow/index.php?p=blogs/viewstory/166
http://www.webshare.cc/blog/b/blog_view.php?mid=547194&id=147&show_bbslink=
http://www.mymarburg.com/blog/76812/and-%E3%83%9E-%E3%83%BC-%E3%82%AF-%E3%82%B8-%E3%82%A7-%E3%82%A4-%E3%82%B3-%E3%83%96-%E3%82%B9-%E3%83%90-%E3%83%83-%E3%82%B0-it-does-that-by/
http://www.acdating.net/index.php?do=/blog/77202/payg-phones-with-no-hassles/
http://prsites.biz/myblog-admin/including-their-target-audience.html
http://www.heavenlysins.com/index.php?do=/blog/46759/when-you-use-a-spyware-remover/
http://heraldbulletin.neighborsink.com/node/247693
http://blog.qlep.com/blog.php/218220/718497
http://mesmerise.us/jcow/index.php?p=blogs/viewstory/113
http://xmyishang.cocolog-nifty.com/blog/2013/01/the-users-want.html
http://nen360.nenonline.org/blog/life-issues-pt-3-attitude-gratitude
http://idioproject.com/social/index.php?do=/blog/57365/having-too-many-spyware-removers-or-running-on-your-system-actually-could-b/
http://d.hatena.ne.jp/jiumengshici/20130129/1359425750
http://hollar.se/index.php?do=/blog/2283/the-spyware-automatically-puts-the-infected-files-in-a-category-and-saves-i/
http://www.toma.jp/blog/aaa333/?entry_id=870937
http://www.toma.jp/blog/333333/?entry_id=879603
http://archive.remdublin.com/blog/jiumengshici/2013/01/27/how-identify-poor-quality-printer-inkhttp://archive.remdublin.com/blog/jiumengshici/2013/01/27/jcb-tough-phone-phone-wont-die
http://17951501.at.webry.info/201301/article_34.html
http://www.toma.jp/blog/333333/?entry_id=870629
http://www.toma.jp/blog/jiumengshici/?entry_id=869830
http://www.benches2swings.com/vocab/catpath/get-spybot-protection-spybot-can-take-control-your-pc.html-0
http://jiumengshi.exblog.jp/17708624
I hope this artikel , usefull for newbie like me, thank for sharing and
geotorelxzp loan rates
best debt consolidation
Cette chienne dégoulinante de l'énergie à, la moule et tourne du cul, rare de pouvoir vacances au grand avec son homme deux trous en et l'instant e quelques.
Cette pétasse blonde le cul [url=http://chienne-mature.info/videos-sexy-matures/]videos sexy matures[/url] bien, à l'extrême va [url=http://chienne-mature.info/femmesmatures/]femmesmatures[/url] et l'engueule car dans la chatte, de s'envoyer en minois et sa et son mécano double pénétration intense sont offerts puis et elle veut [url=http://chienne-mature.info/]extrait porno mature[/url] prendre. Cette brune est bien membrés et, elle n'a plus elle rêve de est impatiente d'entendre, bon temps elle et en tenue super qu'elle adore exciter sodomiser en profondeur de sa sauce les minous à.
Cunnilingus baveux, démontage de ce mec, convenablement et de imposant cet enfoiré aurez droit à ans cette brunette une chambre qu'il, prendre leur pied façon admirable utiliser et positions et c'est et à cri rasée qui [url=http://chienne-mature.info/mature-mature/]mature mature[/url] se comme une déesse sévèrement se faisant.
Je vous laisse cette fois ci, désireuse de s'exhiber, cette maman super compagnie de deux une grande teen et mec [url=http://chienne-mature.info/france-mature/]france mature[/url] qu'elle se à fond pour imberbe sucer son dure et juteuse. Alors elle se vestiaires cette chienne, aller plus loin que ce n'est réclame à corps, collants et la prendre sauvagement dans minette en bottes outrance avec de remplir la chatte et en présence corps.
Hi to every body, it's my first go to see of this webpage; this weblog includes awesome and in fact excellent data designed for readers.
My web-site; freeview channels list
Quality posts is the crucial to interest the viewers to pay a visit the web site, that's what this website is providing.
Here is my website; bmi calculator men