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)
AudioProcessorConfig& operator=(AudioProcessorConfig&&) noexcept
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)
AudioProcessorConfig& operator=(const 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