In this Instructable, we will be building a simple sound effects processor. The setup is very similar to my previous Instructable.

The Edison is at the center of this build. It does all the sound processing and manipulation of the sound.

I plan to make this as an ongoing project in the sense that, I'll be adding more effects as a learn about them (depending how much interest is around this project).

Currently, following effects are supported:

  1. Ring modulator
  2. Amplitude modulator
  3. Overdrive distortion
  4. Overdrive ver 2 distortion
  5. Reverb
  6. Sine vibrato
  7. Sawtooth wave vibrato
  8. Square wave vibrato
  9. Fuzz box distortion

The main user interface consists of a button, LCD and a potentiometer (Grove Rotatory sensor).

Following are the things you'll need to complete this build:

  • Intel Edison (with Arduino base board)
  • USB audio card
  • Grove starter kit
    • Grove button
    • Grove Rotatory angle sensor
    • Grove I2C LCD
  • Audio to Audio cable
  • Instrument or mic to be used as input

In the video, you can see me use the build to modify the way voice and an online piano program sounds using various sound effects. The output from the online piano being played is input to the sound card connected to the Edison which processes the incoming audio depending on effect selected and outputs it onto the sound card (connected to Edison) output connected to speakers.

In this project, a rotatory angle sensor (potentiometer or pot) is used to changes aspects of selected effect in real time. Except for overdrive and fuzz box effect all other effects can be controlled this way.

Even though this project uses pot to control effects, you an use an analog ADC module to control effects and thereby, adding more expressiveness to your performance.

Step 1: Configuring Edison

First thing to do is to setup the USB audio card. To connect the USB sound card, you'll need to move the switch near the USB port towards the USB host port as in the attached picture. In this mode, you will have to power the base board with a DC power supply adapter (7V-15V, I used the power adapter that came with Intel Galileo Gen2) .

In the Linux console (refer to this getting started guide if you want to know how you can gain access to the Linux console), type the following command:

aplay -l

Note down by what name your device got recognized.

In my setup as "U0xd8c0x13c".

Open up the file "/etc/asound.conf" for editing using "vi"

vi /etc/asound.conf

Press 'i' to start editing the file and enter the following text with replaced by your actual USB audio card name.

pcm.!default sysdefault:<your_device_id>

In my case, that would be:

pcm.!default sysdefault:U0xd8c0x13c

This should setup the audio card. To test if your USB audio card gets used as the default audio card, connect external speaker or headphone to the USB sound card. When you execute the following command you should hear some one speak:

aplay /usr/share/sounds/alsa/Front_Center.wav

Now that the audio card is setup, you'll have to install the port audio.

wget http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz
tar zxvf pa_stable_v19_20140130.tgz 
cd portaudio/ 
make install

Hardware connections:

You need to mount the Grove base shield on the Edison and make following connections:

Grove button -----> D6

Rotatory angle sensor ------> A0

I2C LCD ------> I2C port (any)

<p>I need to try this!</p>
<p>Let me know how it goes.</p><p>But there is a issue with the application. It simply stops working sometimes. I am trying to figure this one out.</p><p>Thanks</p>

About This Instructable



More by NavinB:Random news reader on the Linkit smart 7688 Effecter: A simple guitar effects processor Guitar Tuner 
Add instructable to: