3.1 How it works

The alien voice effect that we will be creating is done by simply using sinusoidal modulation to shift the voice spectrum up. In communications terminology, this is often called amplitude modulation (or AM for short).

The modulation frequency must be kept small in order to preserve intelligibility as the resulting signal will be affected by aliasing due to the process of shifting up the spectrum (and maintaining the same sampling frequency).

We recommend downloading this IPython notebook from GitHub. Under the section entitled "1 - The Robot Voice", you can hear this simple voice effect applied to a sample audio file. You can also modify the modulation frequency to hear how it affects the output and the spectrum due to aliasing. You can also preview the notebook and listen to the effect without downloading it by heading over to nbviewer.

As mentioned in the IPython notebook above, this voice transformer is great for real-time applications as it is very cheap, consisting of only one multiplication per sample. However, the intelligibility can be quite poor due to aliasing. In the next chapter, we will implement a more sophisticated voice transformer, namely pitch shifting with granular synthesis. Nevertheless, this simple exercise will already expose us to some important practical DSP "tricks" in order to implement a real-time version of this effect.

Last updated