AUDIO
Source snapshot · 12 October 2026

Prepared signal processing

Synthesis oscillators and dynamics

Oscillator generates f64 sine, saw, square and triangle with phase-continuous frequency changes and waveform switching. set_waveform retains phase and frequency; changes are immediate without a crossfade. Rate is finite/positive and frequency is from zero to strictly below Nyquist. Sine uses per-sample trig; saw/square correct edges with polyBLEP. Triangle is a naive waveform and may alias. These profiles are not an alias-free or deadline claim. Reset clears phase. Invalid retuning preserves frequency/phase.

EnvelopeFollower rectifies samples and applies one-pole attack/release time constants (63.2% settling); times are 0..60 seconds and zero is instantaneous. CompressorConfig prepares threshold -120..24 dB, ratio 1..100, knee 0..48 dB and makeup -60..60 dB. Compressor uses an explicit sidechain and no lookahead. It provides no hard brickwall limiting, linked channels or automatic makeup; it uses log/pow per sample. Nonfinite audio can poison history until reset. Tests compare independent exponential steps, static ratio/knee landmarks, sidechain behavior, waveform phase/edge corrections and heap counts.