arduino-audio-tools
Loading...
Searching...
No Matches
Classes | Namespaces | Variables
FFTEffects.h File Reference
#include "AudioTools/FFT/AudioRealFFT.h"
#include "AudioTools/CoreAudio/AudioOutput.h"
#include "AudioTools/CoreAudio/StreamCopy.h"

Go to the source code of this file.

Classes

class  FFTEffect
 Abstract base class for effects that operate on audio in the frequency domain: incoming samples are transformed with a forward FFT, the resulting bins are modified by the effect() method that a subclass implements, and the modified spectrum is transformed back with an inverse FFT (overlap-add) and streamed to the output. More...
 
struct  FFTEffectConfig
 Common configuration for FFT effects. More...
 
class  FFTEqualizer
 Graphic Equalizer implemented as an FFT effect: boosts or cuts logarithmically spaced frequency bands (20Hz .. Nyquist) by scaling the magnitude of the bins that fall into each band while leaving their phase untouched. Since this operates directly on the frequency-domain bins rather than an FIR/IIR approximation, band edges are exact and there is no filter ripple. More...
 
struct  FFTEqualizerConfig
 Equalizer FFT Effect Configuration. More...
 
class  FFTNop
 Apply FFT and IFFT w/o any changes to the frequency domain. More...
 
class  FFTPitchShift
 Apply Pitch Shift FFT Effect on frequency domain data: we just move the bins up or down. More...
 
struct  FFTPitchShiftConfig
 Pitch Shift FFT Effect Configuration. More...
 
class  FFTRobotize
 Apply Robotize FFT Effect on frequency domain data. See https://learn.bela.io/tutorials/c-plus-plus-for-real-time-audio-programming/phase-vocoder-part-3/. More...
 
class  FFTWhisper
 Apply Whisper FFT Effect on frequency domain data: keep the magnitude of each bin but randomize its phase. See https://learn.bela.io/tutorials/c-plus-plus-for-real-time-audio-programming/phase-vocoder-part-3/. More...
 

Namespaces

namespace  audio_tools
 Generic Implementation of sound input and output for desktop environments using portaudio.
 

Variables

static BufferedWindow fft_effects_buffered_window {&fft_effects_hann}
 
static Hann fft_effects_hann