tur/dsp
stdlib/dsp.tur
defn
sine
(sine [freq phase])
sine-wave oscillator Signal Function.
Parameters
| freq | frequency in Hz (float64) | |
| phase | initial phase offset in radians (float64) |
Example
A Signal Function: sig -> (fn [t] sin(2*pi*freq*t + phase)). (sine 440.0 0.0) ; => 440 Hz sine wave SF
defn
square
(square [freq dutycycle])
square-wave oscillator Signal Function.
Parameters
| freq | frequency in Hz (float64) | |
| dutycycle | duty cycle in [0,1] (float64) |
Example
A Signal Function: sig -> (fn [t] 1.0 if phase < duty else -1.0). (square 440.0 0.5) ; => 440 Hz square wave SF
defn
sawtooth
(sawtooth [freq])
sawtooth-wave oscillator Signal Function.
Parameters
| freq | frequency in Hz (float64) |
Example
A Signal Function: sig -> (fn [t] frac(freq*t) in [0,1)). (sawtooth 440.0) ; => 440 Hz sawtooth wave SF
defn
low-pass
(low-pass [alpha])
first-order IIR low-pass filter Signal Function.
Parameters
| alpha | smoothing coefficient in (0,1); lower = more smoothing. |
Example
A Signal Function that smooths the input signal. (low-pass 0.5) ; => SF applying EMA with alpha=0.5
defn
high-pass
(high-pass [alpha])
first-order IIR high-pass filter Signal Function.
Parameters
| alpha | filter coefficient in (0,1). |
Example
A Signal Function applying high-pass filtering. (high-pass 0.5) ; => high-pass SF with alpha=0.5
defn
gain
(gain [g])
scale a signal by a constant factor.
Parameters
| g | gain factor (float64) |
Example
A Signal Function that multiplies each sample by g. ((gain 2.0) my-sig) ; => signal scaled by 2.0
defn
mix
(mix [alpha])
weighted mix of a pair signal.
Parameters
| alpha | mix coefficient in [0,1]: 0 = all first, 1 = all second. |
Example
A Signal Function on Pair signals: out = alpha*a + (1-alpha)*b. ((mix 0.5) (pair-signals sig-a sig-b)) ; => equal mix
defn
add
(add)
sum a pair signal sample-wise.
Example
A Signal Function on Pair signals: out = a + b. ((add) (pair-signals sig-a sig-b)) ; => sum signal
Internal definitions
__dsp_sin-- compute sine of angle in radians.__dsp_fmod-- compute floating-point modulo.