How I achieved a zero-latency Bon Iver vocoder/harmonizer/autotune effect chain suitable for live performance with simultaneous recording/streaming in OBS Studio
I’ve been slightly obsessed with Bon Iver since I first heard him back in 2009. Ever since he started incorporating harmonizing effects, I’ve wondered how he achieved it live, while playing harmonizing chords in real-time. Yes, I know he eventually explained his “secret” to everyone — the Eventide H9000 — a $7000 rack module that I will never own or have a chance to play with. But I was determined to perform 715 — CRΣΣKS in my basement and that wasn’t about to stop me.
There were tons of blockers along my journey, from the harmony, to the latency, and then when I finally got it “working”, another week to figure out how to record it live without latency.
Hardware:
- Aturia KeyLab 88 MKII (Midi Controller)
- Scarlett 4i4 (Audio Interface)
- Cheap Mic (Scarlett Input 1)
Software:
- FL Studio 21 (Although any DAW will work)
- Voicemeeter Banana
- Waves Harmony (AMAZING — worth every penny at $30)
- Antares Autotune 8.1
- OBS Studio
If you don’t care about recording, it’s a LOT easier. But let’s be honest — it’s not nearly as enjoyable without being able to share how awesome it sounds.
Wiring up your DAW for live performance
We’re gonna need a total of three tracks/inserts to achieve this effect
- Vocals: Insert a Sampler into channel #1 with audio input directly from your Mic that’s plugged into your 4i4 (or whatever interface you’re using).
- Vocoder: Insert a sampler into channel #2 and leave the input selector empty. We will be feeding input from the autotuner instead of from the Mic. In the first effect slot, select the Waves Harmonizer
- Autotune: Insert a sampler into channel #3 and leave the input selector empty. We will be feeding input directly from the Mic in channel #1. In the first effect slot, select the Antares Autotuner (or any of your favorite autotune plugins).
- Now connect the channels as described above by first selecting the FROM channel by clicking on the meter, and then clicking the TO channel’s send port.
The channel rack should end up looking like this:
Configuring the Waves Harmony Plugin
In order to control harmonies by playing your keyboard live, you’ll need to tell the plugin to open a MIDI port to listen. Open the settings panel by clicking on the Plug+Gear icon in the top bar of the plugin window. Ensure the Input Port is set to 1. We will then need to tell FL Studio to send midi events on that port next.
Add a MIDI Out device to the Channel Rack and set it to Port 1. That’s it!
Finally, we have to configure the Harmony plugin to our liking. Feel free to experiment, but here are my settings
Configuring the Autotune
For Creeks, we want to achieve that classic, harsh tuning effect. The key here is to set tuning speed to 0. This creates that instant snapping effect. It may be hard to hear when you’re singing live since you’ll be hearing your voice pretty loud. If you slowly increase your pitch, you can tell it’s working if you hear a dissonance that slowly fades as your pitch increases — just like you’re tuning a guitar. Optionally, wear some monitoring headphones and crank it up to drown out your terrible non-processed voice. It’s super fun, and it still hasn’t gotten old to me yet.
That’s all you need to perform. Don’t forget to set your Audio → Output to be your ASIO interface device — in my case, Focusrite USB ASIO. Note, that this will NOT work when it comes to recording or streaming your output. You will only be able to record your ugly unprocessed voice — nothing from FL Studio will be captured. Stay tuned for part 2 when I show how to configure Voicemeeter to pipe the sound into a virtual out bus.