Vocoder

Post Reply
gilzad
Posts: 92
Joined: Wed Dec 19, 2012 6:46 am

Vocoder

Post by gilzad »

Here is a very early version of the vocoder.

Vocoder Example
SunSynth Module (version 0.2, to be improved)
Demo Patterns (Phil Collins - In the air tonight) | Circular05's Video showing the demo in action
Demo Pattern (Daft Punk - Work it)



Prolog
Actually my next metamodule was going to be an instrument, while I had the idea of building a vocoder in mind for a later opportunity. But then I saw that Darkhog was asking for a way to have one's voice robotized. Nightradio directed him right that he'd need some sort of vocoder, but that there was no native module yet. So I decided to priorize the vocoder.

Background
A vocoder creates the famous voice effects you know from songs like 'Phil Collins - In the air tonight' or '2Pac - California love' or 'Imogen Heap - Hide and seek' or 'Daft Punk - Work it'.
I think you have heard a bunch of times that a vocoder takes a carrier and a modulator to create vocoded sounds. Did this explanation ever help you? Didn't work for me. Especially because I've been doing some citizen band stuff when I was a teeny. So whenever I heard these two words "carrier" and "modulator", I've been thinking of amplitude- or frequency-modulation, which would never make sense in order to get the sound of a vocoder. But then, when I saw how some artists showcased their homemade talkboxes, I thought "hey, it can't be that complicated!". And I had an idea of how that device could be working and how this could be done in software. Actually, very easy. If you build a software-talkbox. you have already built a vocoder. So, here is my way of explaining vocoder: It's a unit that filters any sound the way you would do it with your mouth. If you speak "oooo", it pretty much low-passes its source, if you speak "eee", it pretty much high-passes its source. In other words, it's just an equalizer that is being automatically controlled by the character of human voices. The human voice is the modulator and the sound, that is being equalized, is the carrier.

What is it good for?
Simple versions (like the one in this article) can be used to create an effect that sounds like it's talking. So, if you like to sound like a robot, a vocoder will help :)
Thinking demoscene, it's also useful for 64k-songs, where you can use a small set of voice samples to create longer lyrical parts.

The example file
The example file shows how the vocoder is working from the inside. In that file you're hearing an excerpt of my own song "Favorite Fetish" (I just had the vocals at hand), which is being vocoded through 7-8 gated filters. In this example, you're not hearing the actual vocal sample. You're hearing the chords coming from the Analog Generator and these chords are being modulated by the vocal sample. As usual you can unmute the 'COMPARE' DSP to bypass the vocoder and hear the pure vocal sample.

What is happening?
Modulator
First of all we are splitting the vocal sample into a reduced set of frequency bands. Assuming that humms, the vowels 'u, o, a, e, i' and some sibilants are sufficient to understand speech, we can split the human voice into 7 basic frequency ranges. Luckily the native Vocal filter in Sunvox is helping us here. Only for the hums we'll use a lowpass-filter and for the sibilants we'll use a highpass-filter. Not complicated, right? Just attaching seven filters with different settings to a sampler, which is playing a vocal sample.

Carrier
Now we take a copy of exactly the same filters and put them behind a Generator, which is creating a saw wave at any note that we might play. Still not complicated. Just attaching seven filters to a Generator.

What we want to do now, is to make each of the modulator's filters control the output of the carrier's filters. Example: Whatever passes the highpass-filter (responsible for sibilants), which is sitting behind the vocals, shall turn up the volume of the highpass-filter, which is sitting behind the Generator. But how do we make one filter control the loudnes of another one?

Gates
We use a modified version of the Gate-metamodule. As you know, the Gate-Metamodule is just an inverted Compressor. This comes in handy, because the Compressor has a side-chaining-feature to make the loudness of a foreighn signal compress (duck) a completely different signal. Working as a Gate, a foreighn signal will expand (amplify) a completely different signal. You see where we're going? We'll build a Metamodule where the left channel is the input of the affecting signal (voice) and the right channel is the input of the affected signal (saw wave). Additionally, we place a filter on the left channel before the Gate and one behind it on the right channel. This Metamodule is a single vocoder unit. This means, it lets the filtered loudness of a foreighn source control the filtered loudness of a different signal. We'll use this unit eight times. One for hums/nasals, five vowels (u,o,a,e,i), one for fricatives and one for sibilants. That's eight.

Now we connect the output of our modulator's hum's (lowpass-filter) to the left channel of our gate, which is set up to filter exactly the same frequencies (also a lowpass-filer). Next, we connect the output of our Generator to the right channel of the same Gate. We do this for the other filters as well (modulator's u goes into a u-gate, modulator's o goes into an o-gate, same for a,e,i and sibilants).

This is happening: If the Generator is playing a sound, it won't be heard, because none of the Gate's will let it pass. But if the vocal track is speaking 'u', the u-Gate will open up. If the vocal track is speaking 'ä', then the a-Gate and the e-Gate will open up. Also the loudness of the vocal-filters will specify how much the attached Gates shall open up. Of course you won't hear any part of the vocal track itself. Remember, it's just side-chaining the Gate. Instead the Generator's sound will adopt the character of the voice. That's the magic of a vocoder :)

In Darkhog's thread I documented my attempts starting off with a 20-band gate, then trying a multiband gate based only on Vocal-Filters and how none of them satisfied me. I've had a bunch of more attempts but I finally ended up using a hybrid version of Vocal Filters and Butterworth filters. And these are chained 3 times in a row to reduce the chance of too many bands opening up for single vowels.

The SunSynth module
This demo file is an excerpt of 'Phil Collins - In the air tonight'. It should explain well how the Metamodule can be used. As you see, you need to feed it with the vocals on the left track and the notes need to feed the right track. Additionally you can control the weight of the hums, each vowel and the sibilants before the reach the internal Gates. One thing that you should know: Even if you set equal values for the controls, the vocoder is still weighted. I felt I had to do this to come any close to understandable vocals.

Where to go
Sophisticated versions can be used to create natural sounding vocal harmonies (Yamaha's PLG100-VH, Melodyne). And the most evolved versions can be used to do automatic pitch-correction (Auto-Tune, Melodyne, Autotalent, Zita-AT1). The more bands a vocoder has, the more natural it will sound. The second demo (excerpt of 'Daft Punk - Work it') shows how the lack of bands is creating an 'Ou-weighted' sound. Yet I need to find a way to avoid an equal loudness on all bands but once I get the hang of it, I'll try to build a natural sounding vocoder. And I'd really appreciate contributions. You guys might have ideas how to improve this, so let me know or build your versions and show them.

edit: Added cirular05's demo-video to the article.
edit: Finally fixed the broken sunsynth module that caused so many confusions. Sorry all.
Last edited by gilzad on Thu Nov 21, 2013 5:19 am, edited 2 times in total.
User avatar
NightRadio
Site Admin
Posts: 3941
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Vocoder

Post by NightRadio »

Cool as always!
Looking forward for future updates...
gilzad
Posts: 92
Joined: Wed Dec 19, 2012 6:46 am

Re: Vocoder

Post by gilzad »

I really wanted to avoid to bump up my own thread but I'd be even more unpolite, if I didn't thank you guys for all your attention. Nightradio for everything (warmplace is really a warm place), samrai katt kovboy for the promotion on musicalandroid and Circular05 for the friendly youtube video. I don't understand why I didn't think of making a quick preview myself.
GeMOrtaL Ghost
Posts: 30
Joined: Tue Mar 19, 2013 12:52 am
Location: Saint Louis, MO
Contact:

How do I use this?

Post by GeMOrtaL Ghost »

I read this post completely but i'M not HAVING ANY luck using it. I downloaded the zip file, opened it in sunvox , I see all of the different modules it consists but do not know how to trigger it i have screenshots from sunvox but have to email them i guess. I hooked input up to vocoder, changed vocoder's inputs and still have nothing. . please help. . .Thanks
.;. phI-TRY
GeMOrtaL Ghost
Posts: 30
Joined: Tue Mar 19, 2013 12:52 am
Location: Saint Louis, MO
Contact:

Re: Vocoder

Post by GeMOrtaL Ghost »

I have been playing music since I was a kid but I never had much experience with synths and electronic gadgets. Reading this post made me realize that I need to learn ALOT . . Does anyone know where i Can find resources to grasp all the functions and features of sunvox, I have the manual , i just want to learn, FOR EXAMPLE, what exactly is an FM, how is it used, etc . If anyone knows where I can "go to school" on the web, please post information . . THanks
.;. phI-TRY
User avatar
samrai katt kovboy
Posts: 309
Joined: Wed Jun 13, 2012 11:07 am
Location: Spain
Contact:

Re: Vocoder

Post by samrai katt kovboy »

HI...
About the vocoder you should put the "input module" to seven...
As for learning-
Here is a great article series that goes through the basics of synthesis-
http://www.soundonsound.com/sos/allsynthsecrets.htm/
Regarding Sunvox maybe you've seen the videotutorials? If not they are worth going through and the things you don't get just ask here at the forum.
Also regarding effects think that Gilzads explanation of his creations are good.
And sometimes I noticed that Wikipedia is clearer in explaining certain things than things that floats around on the net.
Myself is recently slightly more steeped in the arcane art of Audio and found (find) things really frustrating sometimes but patience and hard work hahahahahahahaha
will pay off... one day in the distant future.

It is hard if you are new to all these technical aspects-------------
But the rewards are endlesssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

mjaiuuuu
SOOOOOOOOOOOOOOO MANY CIRCLES
GeMOrtaL Ghost
Posts: 30
Joined: Tue Mar 19, 2013 12:52 am
Location: Saint Louis, MO
Contact:

Re: Vocoder

Post by GeMOrtaL Ghost »

THANKS FOr the info. . . i will most definetely read up with the site you posted. . .i would have to agree how hard some of this is to understand. . . man it is endless . . but well worth the investment of time . . . thats all we can do to learn , , , discipline time. . . anyways. . . . i'm not quite sure what putting the "input module" to seven means./ .u mean the effects parameters. . ???? i feel elementary here but i have no pride in learning about music. . i love it too much to allow it. . I have watched ALL of the videos several times and can't THank the creators for taking the time to do it. . . i feel very rewarded with the few things i have learned already and it has added so much to my music that i am nearing the mental event horizon . . .i will, one day , use sunvox to open doorways into higher dimensions and leave this limited box we call the third dimension , , ,i'm sure that's what jesus did. . . .hey its easter. . . wow that kind of rings now that it is easter sunday. . Jesus was Re-su-nvox-rected . haha . . . well then . . . thanks for your time. . . i have much to do now. . .
User avatar
MarioMaster100
Posts: 18
Joined: Sun Dec 09, 2012 3:04 am
Location: United States

Re: Vocoder

Post by MarioMaster100 »

I'm kinda lost on how to use this module.
gilzad
Posts: 92
Joined: Wed Dec 19, 2012 6:46 am

Re: Vocoder

Post by gilzad »

Hi guys,
sorry I didn't show up so long. I'm working on the new version (very slowly) and wanted to respond with a new release. But I shouldn't make you wait, so:

If you have worked with VST-vocoders like the mda-Vocoder or with the LADSPA Linux-Vocoder, this one has to be treated exactly the same way. The left input is the modulator, the right one is the carrier.

If you haven't worked with such plugIns yet, here is how to make it work:
  • 1) You need a vocal track. In SunVox this means you either have a sampler, Vorbis-player or the Input-module play vocals. But to keep it simple, let's just use the sampler now.
    2) Set the Sampler's panning completely to left.
    3) Attach the Sampler to the Vocoder. Now the Sampler will feed the Vocoder only on the left channel. (You can't hear anything yet, that's expected.)
    4) You need a synth that plays the notes you like to hear through the vocoder. In SunVox this can be any module that plays sounds. But to keep it simple, let's just use the Generator now.
    5) Set the Generator's panning completely to right.
    6) Attach the Generator to the Vocoder, too. Now the Generator will feed the Vocoder only on the right channel.
    7) Attach the Vocoder to the Output module.
    8) Create a pattern that plays the vocal sample in the Sampler.
    9) Let SunVox play that pattern in a loop.
    10) Select the Generator and play some notes on your keyboard. You should hear your vocal sample being played with your notes.
If you still don't hear anything:
It's probably because the vocal track is too quiet for the Vocoder (I'll fix that, too). So please boost the volume by chaining an Amplifier between the Sampler and the Vocoder.

Another note: The Vocoder is very heavy on the CPU. I didn't notice that myself until organic_io reported this to me. So if you don't hear anything and see that SunVox has slowed down, then the Vocoder is simply too demanding for your machine. This is also, because I forgot to set a bunch of filters to mono but the newer version will most probably have more filters, so the Vocoder as a Metamodule will always need a strong PC. But if the demo file is working for you, then your machine can keep up with it.

Let me know if you had success. I promise, I'll respond earlier this time.
GeMOrtaL Ghost
Posts: 30
Joined: Tue Mar 19, 2013 12:52 am
Location: Saint Louis, MO
Contact:

Re: Vocoder

Post by GeMOrtaL Ghost »

:crazy: I got this working, I got quite excited!!! Guess I'm a bit of a nerd.http://warmplace.ru/forum/posting.php?m ... =11&t=2463# so i used the sampler(recorded voice with input) hooked to the vocoder pan to the left, generator on the right to the vocoder, and the vocoder out. I put a note in the pattern(sampler) pressed play and I had to press keys with the vocoder selected, not the generator. I put the input setting on the vocoder to the generator tho before I got all of them to work. If that makes any sense, is this the way it's supppose to go? It was fun trying tho anyways. . .
:bad: http://warmplace.rhttp://warmplace.ru/f ... =11&t=2463#
.;. phI-TRY
gilzad
Posts: 92
Joined: Wed Dec 19, 2012 6:46 am

Re: Vocoder

Post by gilzad »

Edit:
This all wasn't GeMortal Ghost's fault. To any of you who had trouble getting the vocoder work: This was due to a wrong module I had uploaded. I finally got to see this in a discussion with Marlow. The link is updated now. Sorry all.
----
Almost!
You probably selected the Vocoder after you had selected the Generator. Sunvox will automatically send the key events to the last Generator you had selected. The current vocoder is not able to oscillate/generate on its own (but it's a future plan).
Actually, the vocoder won't be able to work correctly unless its input is set to 7. That's its internal amplifier from where it takes the vocals and notes to vocode them. Here's a simpler demo that only shows the elements you need to have the vocoder work:

Basic Vocoder demo.

Let me know if I can do anything.
User avatar
SolarLune
Posts: 511
Joined: Tue Oct 26, 2010 9:54 pm
Contact:

Re: Vocoder

Post by SolarLune »

Yo, I finally got to try this out, and it's really awesome! Great work on this module, seriously.
User avatar
DigitalNematode
Posts: 55
Joined: Thu Dec 17, 2015 10:06 am
Location: Chicago

Re: Vocoder

Post by DigitalNematode »

:)
kyakruu
Posts: 1
Joined: Mon Feb 08, 2016 3:05 pm

Re: Vocoder

Post by kyakruu »

But then, when I saw how some artists showcased their homemade talkboxes, I thought "hey, it can't be that complicated!". And I had an idea of how that device could be working and how this could be done in software. Actually, very easy. If you build a software-talkbox. you have already built a vocoder. So, here is my way of explaining vocoder: It's a unit that filters any sound the way you would do it with your mouth. If you speak "oooo", it pretty much low-passes its source, if you speak "eee", it pretty much high-passes its source. In other words, it's just an equalizer that is being automatically controlled by the character of human voices. The human voice is the modulator and the sound, that is being equalized, is the carrier.
Post Reply