A Simple Audio Spectrum Analyzer in a PIC32 Proto Board

Jean Baptiste Joseph Fourier once stated that a composite wave can be represented as the sum of simple sine and cosine waves and this became the basis of the Fast Fourier Transform that is used to chop down waves into its sine and cosine components in order to analyze and identify frequency components of a signal. A hundred years later – Andrei Mehiläinen demonstrated how to use a PIC32 proto board along with a 320×240 PX color LCD to build a simple audio spectrum analyzer. He used a 2048-point FFT (Fast Fourier Transform) algorithm to generate the frequency domain plot. The PIC’s ADC was configured to sample at 48kHz while two potentiometers are used to offset the input signal and to set the voltage reference. Firmware for the project was written using Microchip’s MPLAB C32 compiler. The audio spectrum analyzer can be connected to an unamplified signal source such as your computer’s sound card. Continue reading

The Magnificent Real-time FPGA Pitch Shifter

Guys, no matter you’re a music lover of not, I bet you’ve at least heard some music in your daily life. Honestly, life without music would be like the drought during summer, which it’s really torturing our mind! The modern music producers normally use a variety of effects to create the high-quality sounds. Amongst the sound effects, one effect that often being used is known as “Pitch shifting”. Basically, pitch shifting is a process, which is used to change the pitch or frequency of an audio signal without having to change its duration. Music producers always used this method to correct the pitch or intonation of a musical instrument. Today’s project is to build a real-time FPGA pitch shifter, which is allowing you to perform the above task without further modification. Honestly, it’s easy to use the pitch shifter, as it can perform on a FPGA in real-time using various digital audio processing techniques. Before you’re taking the inverse FFT, you have to take the Fast Fourier Transform (FFT) of a signal, and alter it in the frequency domain. This… Continue reading