DSPark 1.8.0
Header-only C++20 DSP for real-time and offline audio
Loading...
Searching...
No Matches
DSPark.h
1// DSPark - Professional Audio DSP Framework
2// Copyright (c) 2026 Cristian Moresi - MIT License
3
4#pragma once
5
663// === Core ===================================================================
664
665#include "Core/SimdOps.h"
666#include "Core/DspMath.h"
667#include "Core/AudioSpec.h"
668#include "Core/AudioBuffer.h"
669#include "Core/AnalogConstants.h"
670#include "Core/TruePeakDetector.h"
671#include "Core/SpinLock.h"
672#include "Core/SpscQueue.h"
673#include "Core/Biquad.h"
674#include "Core/DryWetMixer.h"
675#include "Core/Smoothers.h"
676#include "Core/AnalogRandom.h"
677#include "Core/Oscillator.h"
678#include "Core/Oversampling.h"
679#include "Core/FFT.h"
680#include "Core/WindowFunctions.h"
681#include "Core/MinBlepTable.h"
682#include "Core/FIRFilter.h"
683#include "Core/Convolver.h"
684#include "Core/ZeroLatencyConvolver.h"
685#include "Core/WDF.h"
686#include "Core/ModulationRouter.h"
687#include "Core/StateBlob.h"
688#include "Core/Hysteresis.h"
689#include "Core/Resampler.h"
690#include "Core/EnvelopeGenerator.h"
691#include "Core/Dither.h"
692#include "Core/SmoothedValue.h"
693#include "Core/ProcessorTraits.h"
694#include "Core/OfflineProcessing.h"
695#include "Core/ProcessorChain.h"
696#include "Core/DenormalGuard.h"
697#include "Core/Interpolation.h"
698#include "Core/Phasor.h"
699#include "Core/SampleAndHold.h"
700#include "Core/RingBuffer.h"
701#include "Core/WaveshapeTable.h"
702#include "Core/WavetableOscillator.h"
703#include "Core/Sampler.h"
704#include "Core/Hilbert.h"
705#include "Core/LadderFilter.h"
706#include "Core/StateVariableFilter.h"
707#include "Core/SpectralProcessor.h"
708
709// === Effects ================================================================
710
711#include "Effects/MidSide.h"
712#include "Effects/Saturation.h"
713#include "Effects/Delay.h"
714#include "Effects/Filters.h"
715#include "Effects/Panner.h"
716#include "Effects/Gain.h"
717#include "Effects/DCBlocker.h"
718#include "Effects/Crossfade.h"
719#include "Effects/StereoWidth.h"
720#include "Effects/StereoGenerator.h"
721#include "Effects/Compressor.h"
722#include "Effects/Limiter.h"
723#include "Effects/NoiseGate.h"
724#include "Effects/Equalizer.h"
725#include "Effects/Reverb.h"
726#include "Effects/Chorus.h"
727#include "Effects/Phaser.h"
728#include "Effects/AlgorithmicReverb.h"
729#include "Effects/NoiseGenerator.h"
730#include "Effects/Tremolo.h"
731#include "Effects/Vibrato.h"
732#include "Effects/RingModulator.h"
733#include "Effects/FrequencyShifter.h"
734#include "Effects/DeEsser.h"
735#include "Effects/AutoGain.h"
736#include "Effects/CrossoverFilter.h"
737#include "Effects/Expander.h"
738#include "Effects/TransientDesigner.h"
739#include "Effects/OfflineBeatCompressor.h"
740#include "Effects/OfflineLeveler.h"
741#include "Effects/OfflinePeakCompressor.h"
742#include "Effects/OfflinePunch.h"
743#include "Effects/OfflineSoftClipper.h"
744#include "Effects/OfflineHardClipper.h"
745#include "Effects/OfflineStereoGenerator.h"
746#include "Effects/OfflineStereoBalance.h"
747#include "Effects/DynamicEQ.h"
748#include "Effects/MultibandCompressor.h"
749#include "Effects/Clipper.h"
750#include "Effects/PitchShifter.h"
751#include "Effects/TimeStretch.h"
752#include "Effects/TapeMachine.h"
753#include "Effects/TubePreamp.h"
754#include "Effects/TransformerModel.h"
755#include "Effects/GranularProcessor.h"
756#include "Effects/SpectralFreeze.h"
757#include "Effects/SpectralDenoiser.h"
758#include "Effects/PitchCorrector.h"
759
760// === Analysis ===============================================================
761
762#include "Analysis/LevelFollower.h"
763#include "Analysis/SpectrumAnalyzer.h"
764#include "Analysis/LoudnessMeter.h"
765#include "Analysis/AudioIntervalAnalyzer.h"
766#include "Analysis/Goertzel.h"
767#include "Analysis/PitchDetector.h"
768#include "Analysis/PitchFollower.h"
769#include "Analysis/PhaseCorrelation.h"
770#include "Analysis/DelayEstimator.h"
771#include "Analysis/EnvelopeFollower.h"
772#include "Analysis/OnsetDetector.h"
773#include "Analysis/BeatTracker.h"
774#include "Analysis/LoudnessNormalizer.h"
775#include "Analysis/OfflineEnergyAnalyzer.h"
776#include "Analysis/OfflineTransientAnalyzer.h"
777#include "Analysis/OfflineTempoAnalyzer.h"
778#include "Analysis/LoopFinder.h"
779
780// === I/O ====================================================================
781// File I/O uses <fstream>/<filesystem>, which do not exist on bare-metal
782// embedded targets. Define DSPARK_NO_FILE_IO to exclude this module - the
783// whole DSP core compiles and runs without it.
784
785#ifndef DSPARK_NO_FILE_IO
786#include "IO/AudioFile.h"
787#include "IO/WavFile.h"
788#include "IO/Mp3File.h"
789#include "IO/MidiFile.h"
790#include "IO/FlacFile.h"
791#endif
792
793// === Music ==================================================================
794
795#include "Music/HarmonyConstants.h"
796#include "Music/ChordDetector.h"
797#include "Music/KeyDetector.h"