The application is mainly written in ''c'' and uses portaudio library to process the audio. The setup consists
The current build supports following effects:
- Ring modulator
- Amplitude modulator
- Overdrive ver2
- sine vibrato
- sawtooth vibrato
- square wave vibrato
- Fuzz box
The setup consists of an Edison connected to USB audio card and a Grove shield that is connected to pot, LCD and a button.
Clicking on the button cycles through the available effects.
The pot controls the effect itself depending upon the selected effect.
The LCD displays the effect that is being applied on the audio signal.
The audio in on the USB sound card is connected to a musical instrument or a microphone and the audio out is connected to a speaker.
It is probably the simplest of effects. The incoming signal is multiplied with low frequency sine oscillator (LFO). The pot in this effect controls the frequency of the LFO. Robotic voices can be generated using this effect.
Unlike ring modulation, here the incoming signal is added with LFO signal. The potentiometer controls the frequency of the LFO.
There are two variants of the overdrive effect. In the first variant (detailed in this ppt) a symmetrical soft clipping is used. In the second variant which is a software overdrive distortion, a sine wave is used to achieve clipping but this is not as effective as the first variant.
Reverberation by definition is over imposing sound with multiple echoes. In this implementation, it is more closely modeled after the echo effect and the pot controls the decay rate of the gain used in the effect.
In this effect, a sine wave is used to select the amount of delay to be used. The pot controls the frequency of this sine wave.
In Sawtooth vibrato effect, a sawtooth wave is used to select the amount of delay to be used. The pot here controls the peak of the sawtooth wave. This effect sounds as if laser shots are being fired ideal for your 60s sci-fi shows.
Square wave vibrato:
In this effect, the most recent samples are output depending on the state of a square wave. When the square wave is "on" most recent sample is output if it is "off" older samples are output. The pot controls the period of this square wave.
This one is based on one of the examples in the port audio distribution. This adds "fuzz" noise to the input signal. This is done using a cubic amplifier and pot has no effect on this effect.
You can go through this instructable to build your very own.