Skip to main content

ClikaRT::processor::AudioProcessorConfig

class

Header: ClikaRT/processor/config.h

Settable configuration for an AudioProcessor (raw waveform / log-mel / filterbank). Default-constructed to the log-mel defaults; tune the STFT/mel knobs, or round-trip a preprocessor_config.json through from_json / to_json. Move-only.

Static member functions

from_json()

static AudioProcessorConfig from_json(std::string_view text)

Parse from preprocessor_config.json text, with the schema semantics of ImageProcessorConfig::from_json (a missing key takes this class's default; a key outside the schema is ignored for the parse and logged by name).

Throws

  • ClikaRT::Error: on malformed text.

Declared in ClikaRT/processor/config.h, line 208

Member functions

AudioProcessorConfig()

AudioProcessorConfig()

the log-mel defaults; usable with no config file

Declared in ClikaRT/processor/config.h, line 196

AudioProcessorConfig(AudioProcessorConfig)

AudioProcessorConfig(AudioProcessorConfig&&) noexcept

move-construct (the source becomes an empty shell)

Declared in ClikaRT/processor/config.h, line 197

operator=(AudioProcessorConfig)

move-assign

Declared in ClikaRT/processor/config.h, line 198

AudioProcessorConfig(AudioProcessorConfig)

AudioProcessorConfig(const AudioProcessorConfig&)

copy-construct: a deep copy

Declared in ClikaRT/processor/config.h, line 199

operator=(AudioProcessorConfig)

copy-assign: a deep copy

Declared in ClikaRT/processor/config.h, line 200

~AudioProcessorConfig()

~AudioProcessorConfig()

destructor

Declared in ClikaRT/processor/config.h, line 201

to_json()

std::string to_json(int indent = 2) const

canonical json text (indent < 0 compact); round-trips through from_json; infallible

Declared in ClikaRT/processor/config.h, line 211

set_sampling_rate()

AudioProcessorConfig& set_sampling_rate(std::int64_t hz)

waveform sample rate, Hz (default 16000)

Declared in ClikaRT/processor/config.h, line 214

set_feature_size()

AudioProcessorConfig& set_feature_size(std::int64_t bins)

output feature dimension (default 80; 1 selects the raw pipeline)

Declared in ClikaRT/processor/config.h, line 215

set_num_mel_bins()

AudioProcessorConfig& set_num_mel_bins(std::int64_t bins)

mel bank size (default 80)

Declared in ClikaRT/processor/config.h, line 216

set_n_fft()

AudioProcessorConfig& set_n_fft(std::int64_t n)

FFT size (default 400).

Declared in ClikaRT/processor/config.h, line 217

set_hop_length()

AudioProcessorConfig& set_hop_length(std::int64_t n)

frame hop, samples (default 160)

Declared in ClikaRT/processor/config.h, line 218

set_chunk_length_seconds()

AudioProcessorConfig& set_chunk_length_seconds(double seconds)

chunk length, seconds (default 30)

Declared in ClikaRT/processor/config.h, line 219

set_feature_type()

AudioProcessorConfig& set_feature_type(AudioFeatureType type)

Which pipeline runs (raw / log-mel / kaldi fbank). A config file infers this from feature_size; set it explicitly when building by hand.

Declared in ClikaRT/processor/config.h, line 222

set_win_length()

AudioProcessorConfig& set_win_length(std::int64_t n)

STFT analysis window length (defaults to n_fft; must be ≤ n_fft).

Declared in ClikaRT/processor/config.h, line 224

set_window_function()

AudioProcessorConfig& set_window_function(WindowFunction fn)

STFT analysis window (default Hann)

Declared in ClikaRT/processor/config.h, line 225

set_window_periodic()

AudioProcessorConfig& set_window_periodic(bool on)

Periodic (2πn/L, the STFT analysis convention, default) vs symmetric (2πn/(L−1)) cosine window.

Declared in ClikaRT/processor/config.h, line 228

set_center()

AudioProcessorConfig& set_center(bool on)

Reflect-pad n_fft/2 each side before framing (torch STFT center=True).

Declared in ClikaRT/processor/config.h, line 230

set_stft_pad_style()

AudioProcessorConfig& set_stft_pad_style(StftPadStyle style)

How the center pad distributes (symmetric vs left-only semicausal).

Declared in ClikaRT/processor/config.h, line 232

set_fft_overdrive()

AudioProcessorConfig& set_fft_overdrive(bool on)

Derive the FFT length as 2·next_pow2(win_length), overriding n_fft.

Declared in ClikaRT/processor/config.h, line 234

set_dither()

AudioProcessorConfig& set_dither(double stddev)

Gaussian noise stddev added to the waveform before the input scale (0 = off). Deterministic: drawn from the processor's own fixed-seed generator, so a given waveform always produces the same features.

Declared in ClikaRT/processor/config.h, line 238

set_preemphasis()

AudioProcessorConfig& set_preemphasis(double coefficient)

Per-frame pre-emphasis coefficient (0 = off).

Declared in ClikaRT/processor/config.h, line 240

set_preemphasis_htk_flavor()

AudioProcessorConfig& set_preemphasis_htk_flavor(bool on)

First-sample convention for pre-emphasis: scale by (1 − p) (default) vs drop it (plain differencing).

Declared in ClikaRT/processor/config.h, line 243

set_remove_dc_offset()

AudioProcessorConfig& set_remove_dc_offset(bool on)

Per-frame DC-offset removal (the kaldi stage order: frame → remove_dc → pre-emphasis → window). Off by default.

Declared in ClikaRT/processor/config.h, line 246

set_log_floor_mode()

AudioProcessorConfig& set_log_floor_mode(LogFloorMode mode)

How the mel floor guards the log (clamp, or additive log(x + floor)).

Declared in ClikaRT/processor/config.h, line 248

set_power()

AudioProcessorConfig& set_power(double power)

Spectrum exponent: 1 = magnitude, 2 = power (default).

Declared in ClikaRT/processor/config.h, line 250

set_mel_scale()

AudioProcessorConfig& set_mel_scale(MelScale scale)

hertz-to-mel curve (default Slaney)

Declared in ClikaRT/processor/config.h, line 251

set_mel_norm()

AudioProcessorConfig& set_mel_norm(MelNorm norm)

filterbank area normalization (default Slaney)

Declared in ClikaRT/processor/config.h, line 252

set_frequency_range()

AudioProcessorConfig& set_frequency_range(double min_hz, double max_hz)

Mel filterbank frequency range in Hz: min_hz (default 0) up to max_hz (0 ⇒ Nyquist, the default).

Declared in ClikaRT/processor/config.h, line 255

set_mel_floor()

AudioProcessorConfig& set_mel_floor(double floor)

Pre-log clamp floor.

Declared in ClikaRT/processor/config.h, line 257

set_log_mode()

AudioProcessorConfig& set_log_mode(LogMode mode)

spectrum compression (default Log10)

Declared in ClikaRT/processor/config.h, line 258

set_log_dynamic_range()

AudioProcessorConfig& set_log_dynamic_range(double range)

Clip frames below (max − range); 0 = off.

Declared in ClikaRT/processor/config.h, line 260

set_log_shift()

AudioProcessorConfig& set_log_shift(double shift)

Post-log affine (x + shift) / scale; identity at 0 / 1.

Declared in ClikaRT/processor/config.h, line 262

set_log_scale()

AudioProcessorConfig& set_log_scale(double scale)

post-log affine divisor (default 1, identity)

Declared in ClikaRT/processor/config.h, line 263

set_input_scale_factor()

AudioProcessorConfig& set_input_scale_factor(double factor)

Scale the waveform before the STFT; 1 = off.

Declared in ClikaRT/processor/config.h, line 265

set_normalization(AudioNormKind)

AudioProcessorConfig& set_normalization(AudioNormKind kind)

Output normalization. GlobalMeanStd reads the SCALAR operands set by the 3-arg overload (element [0]); the spans are read during the call.

Declared in ClikaRT/processor/config.h, line 268

set_normalization(AudioNormKind, Span< float>, Span< float>)

AudioProcessorConfig& set_normalization(
    AudioNormKind kind,
    ClikaRT::Span<const float> mean,
    ClikaRT::Span<const float> std
)

The operand form: mean[0] is subtracted and std[0] divides (the GlobalMeanStd operands); the spans are read during the call.

Declared in ClikaRT/processor/config.h, line 271

set_max_length_samples()

AudioProcessorConfig& set_max_length_samples(std::int64_t samples)

Cap on input samples (0 ⇒ chunk_length_seconds · sampling_rate).

Declared in ClikaRT/processor/config.h, line 274

set_padding_value()

AudioProcessorConfig& set_padding_value(double value)

Fill value for the chunk pad-up (set_pad_to_chunk).

Declared in ClikaRT/processor/config.h, line 276

set_pad_to_chunk()

AudioProcessorConfig& set_pad_to_chunk(bool on)

Extend a shorter-than-chunk waveform up to the chunk with padding_value (the fixed-length Whisper-style front-end contract). Off (default) ⇒ the output stays variadic in time.

Declared in ClikaRT/processor/config.h, line 280

sampling_rate()

std::int64_t sampling_rate() const

Hz (default 16000).

Declared in ClikaRT/processor/config.h, line 283

feature_size()

std::int64_t feature_size() const

output feature dimension (default 80; 1 = raw)

Declared in ClikaRT/processor/config.h, line 284

num_mel_bins()

std::int64_t num_mel_bins() const

mel bank size (default 80)

Declared in ClikaRT/processor/config.h, line 285

n_fft()

std::int64_t n_fft() const

FFT size (default 400).

Declared in ClikaRT/processor/config.h, line 286

hop_length()

std::int64_t hop_length() const

frame hop, samples (default 160)

Declared in ClikaRT/processor/config.h, line 287

chunk_length_seconds()

double chunk_length_seconds() const

(default 30)

Declared in ClikaRT/processor/config.h, line 288

feature_type()

AudioFeatureType feature_type() const

raw / log-mel / kaldi fbank (default LogMel)

Declared in ClikaRT/processor/config.h, line 289

win_length()

std::int64_t win_length() const

window length, samples (defaults to n_fft)

Declared in ClikaRT/processor/config.h, line 290

window_function()

WindowFunction window_function() const

(default Hann)

Declared in ClikaRT/processor/config.h, line 291

remove_dc_offset()

bool remove_dc_offset() const

per-frame DC removal (default off)

Declared in ClikaRT/processor/config.h, line 292

center()

bool center() const

n_fft/2 pad before framing (default on)

Declared in ClikaRT/processor/config.h, line 293

power()

double power() const

spectrum exponent (default 2 = power)

Declared in ClikaRT/processor/config.h, line 294

mel_scale()

MelScale mel_scale() const

(default Slaney)

Declared in ClikaRT/processor/config.h, line 295

mel_norm()

MelNorm mel_norm() const

(default Slaney)

Declared in ClikaRT/processor/config.h, line 296

min_frequency()

double min_frequency() const

Hz (default 0).

Declared in ClikaRT/processor/config.h, line 297

max_frequency()

double max_frequency() const

Hz (0 = Nyquist, the default).

Declared in ClikaRT/processor/config.h, line 298

mel_floor()

double mel_floor() const

pre-log floor (default 1e-10)

Declared in ClikaRT/processor/config.h, line 299

log_mode()

LogMode log_mode() const

(default Log10)

Declared in ClikaRT/processor/config.h, line 300

log_dynamic_range()

double log_dynamic_range() const

clip below max - range (default 0 = off)

Declared in ClikaRT/processor/config.h, line 301

log_shift()

double log_shift() const

post-log affine shift (default 0)

Declared in ClikaRT/processor/config.h, line 302

log_scale()

double log_scale() const

post-log affine divisor (default 1)

Declared in ClikaRT/processor/config.h, line 303

input_scale_factor()

double input_scale_factor() const

pre-STFT waveform scale (default 1 = off)

Declared in ClikaRT/processor/config.h, line 304

normalization()

AudioNormKind normalization() const

output normalization kind (default None)

Declared in ClikaRT/processor/config.h, line 305

max_length_samples()

std::int64_t max_length_samples() const

sample cap (default 0 = chunk seconds x rate)

Declared in ClikaRT/processor/config.h, line 306

padding_value()

double padding_value() const

chunk pad-up fill (default 0)

Declared in ClikaRT/processor/config.h, line 307

pad_to_chunk()

bool pad_to_chunk() const

pad short clips up to the chunk (default off)

Declared in ClikaRT/processor/config.h, line 308