Arduino Vocal Effects Box


Posted on Feb 5, 2014

This Arduino-powered vocal effects box pitch shifts and distorts incoming audio signals to produce a wide variety of vocal effects. This project is my first experiment with real-time digital signal processing using Arduino. It samples an incoming microphone signal at a rate of about 40kHz, manipulates the audio digitally, and then outputs 8 bit a


Arduino Vocal Effects Box
Click here to download the full size of the above Circuit.

udio at 40kHz. To minimize the amount of computation required by the Arduino, I used a technique called granular synthesis to manipulate the incoming audio signal. Essentially, as audio comes into the Arduino it gets cut up and stored as small (millisecond or microsecond sized) samples called grains.  These grains are then individually manipulated and played back; they may be lengthened or shortened, stretched or compressed, played back in reverse, copied several times, or mixed with other grains. You can hear a (somewhat creepy) audio sample from the effects box below: Granular synthesis creates a unique type of distortion caused by discontinuities between individual grains in the outgoing signal. Sometimes this distortion creates an effect I can only describe as a ripping  sound, other times it introduces new frequencies into the audio that were not present before. Here is an example by Aphex Twin, the granular synthesis is especially prominent in the bridge at around 3min in. Another example of granular synthesis, this time applied to vocals for pitch shifting and textural effects, is from Paul Lansky. My favorite thing to do with this effects box is to use subtle pitch shifting to achieve an androgynous vocal sound, I got the idea for the project after listening to copious amounts of Fever Ray this past winter, you can hear how she pitch shifts her voice to sound somewhat masculine at times.




Leave Comment

characters left:

Related Circuits

  • New Circuits

    .

     


    Popular Circuits

    5 watt, 80 meter QRP CW Transceiver
    Delay switching for Loudspeaker
    Toxic gas detector
    integrated circuit How do I control a two 12VDC 10A motors using an Arduino
    Loudspeaker Protector Monitors Current Circuit
    simple touch switch circuit
    The Buck Converter
    The SDR-1000
    A DC motor reverse brake circuit



    Top