Holiday Shenanigans - Using Bitwig Studio as a Real-Time Voice Changer for Remote Meeting

A year or two ago, Solid State Logic released a really fun Halloween special plugin for free, called X-Orcism II, which does a fantastic job of making you sound like a ghoul in a crypt. It seems to do some compression and distortion, along with some pretty dramatic pitch shifting and a sprinkle of howling wind noise added in. You get a fun range of slightly spooky to downright unintelligible.

I thought it’d be fun to use this in meetings on Halloween, but I also realized that I couldn’t go too crazy. I wanted subtle, but still obvious. In a word: fun.

Doing a small project like this is a good way to learn to use some tools and techniques I normally don’t bother with. What’s also great is that what I ended up works for other effects, so I can adapt it to different holidays pretty easily.

In this post I’ll be going over how I was able to build my ridiculous Halloween voice changer, and how I’ve been able adapt it to other holidays.

Constraints

I didn’t want to just immediately sound ghoulish and unintelligible. Instead, I wanted to start out sounding normal, and then over the course of 15 seconds or so of talking, I wanted my voice to slowly morph into something monstrous (but still understandable).

If I’d been home at the time, I probably would have just mapped a knob on a MIDI controller to the mix knob in the plugin, and just slowly cranked it up as I was talking. However, I was traveling at the time, so no MIDI controller. I needed to automate this.

Finally, I needed to be able limit how crazy things can get. On my team at work, we have several people who are not located in the United States and English isn’t their native language. I needed to make sure I didn’t dial up the ridiculousness so much that I became hard to understand for someone who might already be struggling with my naturally rapid speech and tendency to mumble.

The plan

I run my microphone through Bitwig Studio. One of the biggest benefits of Bitwig is it’s phenomenal modulation system. You have an absurd amount of control over every parameter, and can controll just about anything with anything else.

My plan was to find something that would listen to my voice, and when I’m talking, slowly turn up the mix parameter in the plugin. When I stop talking, it should turn it back down. It should also only turn it up to a certain point, and stop.

How was I going to do this? No idea, but Bitwig is awesome, so there had to be a way!

Follow me

This little project is where I was finally able to use envelope followers. I’d heard of them before, and knew Bitwig had them, but I’d never actually used one before. An envelope follower is a device that listens to an input signal, processes it somewhat (usually smoothing it out or delaying it a little), and then outputs the result. The output follows the general shape (the envelope) of the input signal, without all of the jagged ups and downs that make up audio.

So what I needed to do was find a way to use an envelope follower to follow my mic signal, and really smooth it out, and cap it at some peak level, so that it would take 10-15 seconds to reach that level.

From there, I could take the output, maybe do some math with it, and use the result to control the mix parameter in the plugin.

Let’s do it

To start, I put the SSL plugin into my vocal processing chain, right after my normal denoisers, compressors, EQ, etc.

After adding the envelope follower modulator (press the little arrow icon in the lower-left corner of the device in the Bitwig interface, which will show three plus buttons in a column. Click one, find the envelope follower modulator, and add it), you’ll see this:

Device with the follower added

You attach the modulator output to a parameter by clicking that little blue arrow, then dragging on a flashing knob (the flashing tells you what you can control with that arrow). The amount you drag will control how much the modulator can change that parameter. So find the Mix parameter, turn it up all the way, then click the blue arrow again to exit the parameter selection mode.

From here, I got to work, trying to dial in the right settings for the follower. For experimentation, turn the Rise and Fall parameters down to a fairly low value, like 1 second, so that it fairly closely follows your mic signal. I did find that I got the sloooooooow and smooth behavior I was looking for by simply turning both of those up their highest value (10 seconds), so I turned them back down while figuring the rest out.

After some experimentation, it seems the input signal is a bit too low (it’s not moving the need enough on the mix), so I cranked up the Gain parameter on the envelope follower all the way up to 18.4 dB. Even with that, I still wasn’t seeing enough movement. Time for some math!

Math!

Next I added another modulator. This time, intead of an envelope follower, I used the “math” modulator, which does exactly what it sounds like: math. I selected the “MUL” operator (multiply), which makes it multiply the values of its parameter knobs and output the result.

Math!

To make this useful, you’ll first need to unlink the envelope follower from the mix parameter and switch it to one of the parameters in the math modulator. To do that, right-click on the follower’s blue arrow and click the X button next to the “Mix” parameter to remove it. Then, click that arrow again, drag the first knob in the math modulator all the way up to 200%, then click the arrow again. Once that’s done, set the modulation target for the math modulator to the mix parameter, like before. Since you set it to 200% initially, you automatically get a decent boost in the followers output, which is enough to actually have a noticable impact on things. If you want the mix to go even higher, you can use the second knob in the math modulator. The higher you turn that knob, the higher the mix parameter will go.

Yet another modulator

I found I actually had boosted things a bit much, and wanted a nice way to reign things in directly, so I added a third modulator. This one is a “macro” modulator, which is really just a fancy way of saying it’s a knob. For this one, I moved the math modulator output to my new macro modulator knob, and set the macro’s modulation target to the mix parameter (this is the last time we’ll be moving that. I promise. For now…). I also switched the macro to be bipolar by clicking the ± button next to it. This makes it so it can add or subtract from its targeted parameter.

This seems like a weird setup, but it actually works quite well. The result is that you can use the second knob in the math module to adjust how much terror you are introducing with the plugin. You can then drag the macro knob down a little bit, which pins the mix parameter at 0% until the output of the math modulator goes high enough to push the macro’s output positive. This way, your voice is perfectly normal for a few seconds before it starts to change. It takes some getting used to, but you end up with a considerable amount of control with only two knobs.

What now?

Now, you mess with those two knobs to get the timing right. Within the plugin itself, you should mess with all the various parameters to get the sound you want (using those knobs, you can easily minimize the affect of the envelope follower, so that you can quickly and easily hear what the plugin is doing).

To make life easier, you can also assign some remote controls. In Bitwig, a remote control is just a copy of the control in a nice centralized place. To access them, you click the button right above the one for modulators, which will show you 8 spots to add controls. You then click on one of the spots, and select the thing you want to control (so click once, and select that math modulator’s knob, then do it again for the macro knob). This way, you don’t have to worry about messing up the various modulator settings. There are also some extra benefits I won’t dive deeply into here (notably, you put the controls on the track and see them from the mixer view and automatically map them to MIDI controls when selecting the track).

Final device

Results

I didn’t tell anyone on my team that I had done this, and the payoff was amazing!

This was a Microsoft Teams meeting, so I made sure to turn on the high-fidelity music mode and any built-in noise reduction or voice isolation. I didn’t want it to filter out anything it didn’t think was a natural voice, since I was specifically making my voice sound unnatural.

When the time came, I intentionally dragged out what I was saying by adding unnecessary details, adding lots of umms and ahhs, etc, to be sure I was talking long enough for this thing to do its thing. The reactions were great as everyone slowly realized something was going on. I had a hard time keeping a straight face, but everyone else was laughing pretty hard.

What about other holidays?

I’ve found that this trick works pretty well for any case where you want to slowly mix in other sounds. It’s been useful enough that I actually ran through the whole set up one more time, but instead of using the X-Orcism II plugin, I set it up on an “FX Selector” device in Bitwig. This lets you set up multiple effects, which you can switch between. Conveniently, the FX Selector device has its own mix parameter, so the setup is exactly the same, except you set the macro modulator’s target to that instead of the on in the plugin.

Here’s my final setup (I changed some labels, just for fun):

final setup

One useful thing I added is that “I’m dead” button. It’s a button modulator which, when pressed, sets the Fall parameter in the envelope follower to 1 ms, and mutes the effects contained in the FX selector. This is useful when things are getting a bit out of hand, by basically just immediately shutting everything down and resetting the envelope follower.

Thanksgiving

While it’s hard to beat that first Halloween effect which had everyone laughing, my Thanksgiving setup was hilarious due to its utter insanity.

For this, I used a convolution reverb plugin. A convolution plugin effectively takes every single sample in your signal, uses that sample’s level as the volume level on an audio clip (called an IR or impulse response), and plays it (there’s a fair amount of math involved, too). It does this for every single sample, so if your sample rate in Bitwig is set to 48 kHz, like it is for me, it’s basically playing the audio clip at various volumes 48,000 times per second. Normally, this is used for reverb or EQ by using specially recorded IRs, but you can get some really interesting results when you load a regular audio file as the IR. One use I’ve heard of is using a clip of a cymbal ride, and loading that into a convolution plugin on a kick or snare track, to make it sound more like the cymbal.

I used a turkey.

Imagine an infinite number of turkeys swarming around you. It’s life changing.

Christmas

I tried the convolution trick with more Christmas-y sounds like bells or “Ho! Ho! Ho!” but it didn’t work as well. In the end up, settled on a free plugin software instrument (I think Authentic Soundware’s Space Age Sleigh Bells, which they seem to make available for free every December) of jingle bells. I put that on a separate track with a MIDI clip just holding down a single key. Then, in my FX selector, I put an “Audio Receiver” device, which is a Bitwig device for routing audio from place to another, with its mix set to 50%. The result is that you end up with some holiday cheer slowing fading in as you talk. While not as fun as the ghoulish Halloween or utterly insane Thanksgiving setups, it’s simple and effective.

Was it worth it?

Absolutely.