
quarx are highly optimized, small DSP modules.
Each module's outputs can be routed to any module's inputs.
In addition to processing inputs and with a few exceptions
all module coefficients are inputs.
An interconnected quarx network is considered an algorithm and
can run on any hardware for which a port has been provided.
Such an algorithm can perform the processing of an audio plugin, a DAW,
a dedicated device and/or recursively be wrapped into a quarx submodule
itself.
An algorithm can be instantiated, spread out and run entirely or partly
in parallel on single or multicore processing units (like OpenCL or
processor cores) and its processing graph can be modified in real time
without stopping the processes.
ports
- backends (processing core) for various platforms
OpenCL, native/C, AVX, UAD2 (Shark), PowerCore (56k), Pro Tools DSP and so on
- frontends (interfaces) for various standards
VST3, Audio Unit, standalone application and so on
modules
- host the ends of a patch: an application binds its busses to these, they are not placed by hand
- render what the host feeds in, one output per channel, and the rate of that stream
- playback what the host reads back, one input per channel
- sources
- generator wavetable, any number of voices, each with several phases
- noise uniform white, deterministic per seed
- pulse width modulated
- saw sawtooth, phase exact at any frequency
- routing
- mix busses of channels; a channel's gain is an input like any other, so gain zero and a modulator make a ring modulator
- monitor oscilloscope
- time
- delay busses of recirculating taps, time and feedback modulated per sample
- fractional delay sub sample delay
- shapers
- damp walks towards a target by a step per sample
- exp two to the power of octaves times input: turns an lfo into an even frequency sweep
- gate passes what reaches the threshold
- pow symmetric power curve
- filters a controller module designs the coefficients from human controls and feeds them to the kernel as signals, so every control modulates at audio rate
- fir Kaiser windowed, 15 to 511 taps
- lowpass, highpass, bandpass, bandstop edges and the transition width in octaves
- hilbert ninety degrees across the band
- differentiator, integrator rising and falling gain, the integrator's floor holds it below the corner
- fir the bare convolution, every tap editable and patchable
- iir biquad cascades, one to four sections
- lowpass, highpass, bandpass, notch, peak, low shelf, high shelf, allpass
- iir the bare cascade, five coefficients per section, each an input
- one pole first order: the lowpass, and the highpass that blocks dc
- resonant
- svf state variable, low band high notch at once
- ladder four pole with a saturated loop, self oscillating from four up
- algorithms whole networks folded into one module
- analytic hilbert and a matched delay: the same signal at ninety and at zero degrees
- shifter frequency shifter, every partial moved by the same hertz