Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::FrequencyAxis Class Reference

Utilities for mapping FFT bins to display coordinates. More...

#include <spectrogram.hpp>

Public Member Functions

void configure (int fft_size, float sample_rate, FrequencyScale scale=FrequencyScale::logarithmic)
 Configure the axis for a given FFT size and sample rate.
float bin_to_display (int bin) const
 Map a frequency bin index to a normalized display position [0, 1].
int display_to_bin (float display_pos) const
 Map a normalized display position [0, 1] to the nearest bin index.
float bin_to_hz (int bin) const
 Convert bin index to frequency in Hz.
int hz_to_bin (float hz) const
 Convert frequency in Hz to nearest bin index.
float hz_to_display (float hz) const
 Map Hz to normalized display position [0, 1].
float display_to_hz (float pos) const
 Map normalized display position [0, 1] back to Hz.
int num_bins () const
float nyquist () const
FrequencyScale scale () const

Detailed Description

Utilities for mapping FFT bins to display coordinates.

RT contract: configure() and all mapping helpers are allocation-free.

Member Function Documentation

◆ bin_to_display()

float pulp::signal::FrequencyAxis::bin_to_display ( int bin) const
inline

Map a frequency bin index to a normalized display position [0, 1].

◆ bin_to_hz()

float pulp::signal::FrequencyAxis::bin_to_hz ( int bin) const
inline

Convert bin index to frequency in Hz.

◆ configure()

void pulp::signal::FrequencyAxis::configure ( int fft_size,
float sample_rate,
FrequencyScale scale = FrequencyScale::logarithmic )
inline

Configure the axis for a given FFT size and sample rate.

◆ display_to_bin()

int pulp::signal::FrequencyAxis::display_to_bin ( float display_pos) const
inline

Map a normalized display position [0, 1] to the nearest bin index.

◆ display_to_hz()

float pulp::signal::FrequencyAxis::display_to_hz ( float pos) const
inline

Map normalized display position [0, 1] back to Hz.

◆ hz_to_bin()

int pulp::signal::FrequencyAxis::hz_to_bin ( float hz) const
inline

Convert frequency in Hz to nearest bin index.

◆ hz_to_display()

float pulp::signal::FrequencyAxis::hz_to_display ( float hz) const
inline

Map Hz to normalized display position [0, 1].

◆ num_bins()

int pulp::signal::FrequencyAxis::num_bins ( ) const
inline

◆ nyquist()

float pulp::signal::FrequencyAxis::nyquist ( ) const
inline

◆ scale()

FrequencyScale pulp::signal::FrequencyAxis::scale ( ) const
inline

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/signal/include/pulp/signal/spectrogram.hpp