Skip to content

Digital Audio Effects Project | Implementation of an audio equaliser designed in MATLAB and developed in C++ with the JUCE framework. Using custom DSP classes which implement various filter bands applied using a TDF2 BiQuad filter.

Notifications You must be signed in to change notification settings

harveyf2801/AudioFX-EQ

Repository files navigation

AudioFX - EQ

cpp-linter

This project implements an audio equalizer using JUCE and C++. By default, it includes 3 peaking bands, 2 shelves, and 2 cut bands for EQ processing. The peaking bands are dynamically implemented, allowing for easy adjustment of the number of bands by specifying the desired amount in the top of PluginProcessor.cpp. An all-pass filter band has been included in the project but has not been fully implemented in the GUI. All filter coefficients are calculated manually and applied using a Transposed Direct Form II BiQuad Filter. The Matlab directory provides a live script demonstrating some of the DSP techniques used in the project.

Features

Completed

  • Custom DSP classes for each filter band.
  • Custom DSP class for Transposed Direct Form II biquad filter implementation *.
  • Visuals for the magnitude frequency reqponse.
  • Visuals for the phase frequency response *.
  • Analyser line showing the magnitude of the input / output signal.

To do

  • Add in the TDF II code into the main EQProcessor.
  • Add toggle button to view the phase frequency response.
  • Implement higher quality analyser line with increased resolution.
  • Add the All-Pass band options.
  • Implement toggle option to visualise either the input or output signal of the EQ.

Using CMake

⚠️ CMake hasn't been updated since the last big update, therefore the project can instead be run and built using the ProJucer application.

Configure Project

Configure for Windows

cmake -G Visual Studio 17 2022 -S . -B build

Configure for MacOS

cmake -G Xcode -S . -B build '-DCMAKE_OSX_ARCHITECTURES=arm64;x86_64'

Building Project

Build for Windows

cmake --build . -j 12

Build for MacOS

cd build
cmake --build . -j 8

References

EQ Audio Processing:

GUI:

About

Digital Audio Effects Project | Implementation of an audio equaliser designed in MATLAB and developed in C++ with the JUCE framework. Using custom DSP classes which implement various filter bands applied using a TDF2 BiQuad filter.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published