DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
Loading...
Searching...
No Matches
Panner.h File Reference

High-performance stereo panning toolkit with multiple algorithms. More...

#include "../Core/AudioBuffer.h"
#include "../Core/AudioSpec.h"
#include "../Core/Biquad.h"
#include "../Core/DspMath.h"
#include "../Core/Smoothers.h"
#include "../Core/StateBlob.h"
#include "Delay.h"
#include <algorithm>
#include <atomic>
#include <cmath>
#include <cstdint>
#include <vector>
Include dependency graph for Panner.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  dspark::Panner< T >
 

Namespaces

namespace  dspark
 Main namespace for the DSPark framework.
 

Detailed Description

High-performance stereo panning toolkit with multiple algorithms.

Provides CPU-efficient, zero-allocation panning algorithms suitable for real-time audio threads (the settled equal-power path auto-vectorizes; the smoothing paths are scalar by nature of the per-sample ramp).

Algorithms:

  • Equal Power: Constant-power pan (-3 dB center).
  • Binaural: ITD delay + cross-feed with head-shadow ILD.
  • Mid Pan: Preserves side signal, pans center image.
  • Side Pan: Preserves mid signal, pans stereo width.
  • Haas: Inter-channel delay precedence effect.
  • Spectral: Frequency-dependent panning via high-shelf.

Dependencies: Core/AudioBuffer.h, Core/AudioSpec.h, Core/Biquad.h, Core/DspMath.h, Core/Smoothers.h, Core/StateBlob.h, Effects/Delay.h.

Threading: prepare() belongs to the setup thread; processBlock()/reset() to the audio thread. All parameter setters are safe from any thread (atomics applied at the top of the next processBlock); non-finite values are ignored.

Template Parameters
TFloating-point precision type (float or double).

Definition in file Panner.h.