Guitar Fuzz FX based on "Processing Audio Input" Tutorial


#1

Hi, I’m new to JUCE and C++, and I started with too speed…
I had trouble with Inupt Midi tutorials (that I’ve resolved thanks to your help) so I decided to follow step per step tutorials on JUCE.com.
I am a guitarist and I encounter a very interesting tutorial: “Processing Audio Input”.
I realized tha I can make a Fuzz/Distort Fx for my guitar… but I have two problems:

1- The output sound is mono (I’ve set input to 1 in the constructor of the app) but I hear only one channel of my headphones. (I have an external USB audio device: the PresonusAudioBox).

2- How can I implement an algorithm to the input buffer to let the sound more smooth? (Or where I can find something about)

Thanks in advice,
Francesco


#2

Hi @arstudio.

If you have a mono input and want to duplicate the audio for two output channels you need to first make sure you have requested 2 output channels by calling setAudioChannels (1, 2) in the constructor of your application. Then in your getNextAudioBlock() method you can simply copy the processed input samples into your output buffers - the method for doing this is covered in the “Getting active channels” section of this tutorial.

I’m not sure what you want to achieve by smoothing your input buffer but most distortion effects will apply some sort of low-pass filter after processing to get rid of unwanted high frequencies in the output so you could try that.

Ed


#3

Yes I know… I’ve googled some and i found interesting articles on digital distortion.
But I cannot understand the usage of the low pass filters…and its algorithms


#4

This book contains a good (and free!) introduction to filters. JUCE also has an IIRFilter class which you can initialise with low-pass filter coefficients using the methods in the IIRCoefficients class.

Hope this helps!
Ed