Magnus Lidström is a Swedish developer who, despite not being massively prolific, has earned a reputation for top-quality music software. Not only is his company Sonic Charge behind the excellent MicroTonic drum machine and novel Synplant synth, he's also been linked with Propellerhead, having designed and developed Reason's Malström synth.
The exact technique is called Linear Predictive Coding (LPC), and it's used to encode a speech signal in a data-compressed form, most commonly for transmission.
The crux of Linear Predictive Coding is that it uses a simplified model of our speech system. In real life, vowel sounds come from vibrating vocal folds in the throat, with the tongue/lip/mouth shape creating the resonances (frequency peaks) that we interpret as distinct vowels.
Simplified, this is like a flexible tube with a 'buzzer' at one end. LPC models this arrangement with an oscillator (buzzer) and resonant filter (tube). As for non-vowel aspects (eg, sibilants), these are considered separately by LPC, and a noise generator is sufficient for a basic recreation of them.
LPC encodes speech by sampling audio many times a second and using analysis techniques to suss out the oscillator pitch/volume, filter values and noise level needed to approximate each 'frame'. These parameters are stored/transmitted on a per-frame basis, to be fed into an oscillator/filter/noise combo to reproduce the speech.
While LPC can be used for accurate reproduction of voices, Bitspeek lets you tinker with its parameters to create more unnatural results. There are four main controls: Pitch (+/-3 octaves), Tracking (0-200%), Detune (introduces a secondary oscillator that can be shifted by up to an octave from the main one) and Noise (+/- 100%).
This is pretty much all you need for defining the overall sound. Tracking determines how closely the output adheres to the pitch of the input: at zero, the output pitch is a monotone robotic drone; 100% follows the input as closely as it can; while 200% exaggerates pitch variances.
Also, there's a Frame Rate slider that determines how often the incoming audio is sampled, ranging from 0 to 80Hz when the Sync switch is Off, or snapping to beat divisions of 1/1 up to 1/64 in the On position, which is great for rhythmic material.
You can 'freeze' the audio at any given point by reducing Frame Rate to 0 - ideal for automating in the mix or live jamming. Lastly, engaging the MIDI switch makes Bitspeek use a MIDI signal to control the output pitch (so long as your host can send MIDI to audio plug-ins).
It's usually best to set the Tracking to zero so the output is hard-tuned to the note you play, for a vocoder-like sound. Sadly, you can't play chords, but Sonic Charge says that this might be added in an update.
Say it: robot
The plug-in is an absolute breeze to use and it's easy to knock out a variety of grungy or robot-like tones in an instant. Naturally, it's best suited to processing voices, but that didn't stop us throwing everything from synths to drum tracks its way, with some pleasingly crunchy results on occasion.
There aren't any presets, but the controls are so simple that it doesn't matter. One thing to note is that the effect tends to boost the volume a fair bit, so if you're faint of heart, place a limiter after the plug-in!
As well as its retro-tastic resynthesising of the human voice, Bitspeek also has some great sound design possibilities when it comes to mangling other sources. Sonic Charge, you win.
Now listen to our audio demos to hear Bitspeek in action:
Vox 8kHz default
Vox 11kHz default
Vox 22kHz +3 octaves
Drums 8kHz default
Bass 8kHz default