This reference documents all the reserved words in the lyd language, these a pre-existing sound sources and filters.
Parantheses can be used to override or document precedence for the in-fix operations +,-,*,/,% and ^+ - * / min max rcp sqrt ^ % abs neg
Sources are oscillators and other signal generators generate a time/sample dependent output and provides the changing elements of the equation expressed in the lyd language.
adsr ddadsr sin saw ramp square triangle pulse noise input time wave wave_loop abssin possin pulssin evensin evenpossin
Filters adjust various qualities of a signal, ranging from providing chorus to masking out portions of the signal.
reverb low_pass high_pass band_pass notch peak_eq low_shelf high_shelf
Adds values together value1 + value2
Subtracts values value1 - value2
Multiplies values, useful for scaling amplitude expression1 * expression2
Divides values, value1 / value2
⇡min (expression1, expression2)
Returns the smallest of two values
⇡max (expression1, expression2)
Returns the largest of two values
Returns the reciprocal (1/value)
Performs a square root on the input value
Raises the value1 to the power of value2, value1 ^ value2
Floating point modulus, value1 % value2
Makes the input value positive
Negates input value
⇡adsr (attack, decay, sustain, release)
ADSR Envelope - provides values in range 0.0-1.0 if oscillators are multiplied with an ADSR the amplitude will sink to 0.0 after release and the voice will be automatically freed after release when it no longer makes audio, sin(120)*adsr(0.3,0.3,0.8,1.5)
⇡ddadsr (delay, duration, atack, decay, sustain, release)
DDADSR Envelope - like ADSR, but with delay and duration first
Sine wave osicllator
Ramp oscillator, opposite of sawtooth.
Square wave oscillator equivalent to a pulse with pulse width 0.5, values varying between -1.0 and 1.0
⇡pulse (hz, width)
Pulse oscillator to simulate square wave use a width of 0.5
Noise generator produces evenly distributed values in the range 0.0 to 1.0
Used when implementing filters, acts as a signal source.
current time of sample running, in seconds
⇡wave ('wave-identifier'[, hz])
PCM data oscillator, first argument is a string, second argument if present is gives pitch deviation determined by desired playback hz assuming sample recorded is middle-C, wave('test.wav') or wave('test.wav', 440.0)
⇡wave_loop ('test.wav', hz)
Like wave() but loops the given sample, needs to be scaled with an adsr to be silenced.
⇡reverb (amount, delay, signal)
⇡low_pass (gain, hz, bandwidth, signal)
Low pass filter, for performance reasons the parameters of filters are not varying with sample accurate precision but vary per chunk of processed audio (at least for each 256 samples).
⇡high_pass (gain, hz, bandwidth, signal)
High pass filter
⇡band_pass (gain, hz, bandwidth, signal)
Band pass filter
⇡notch (gain, hz, bandwidth, signal)
⇡peak_eq (gain, hz, bandwidth, signal)
peak eq filter
⇡low_shelf (gain, hz, bandwidth, signal)
low shelf filter
⇡high_shelf (gain, hz, bandwidth, signal)
high shelf filter
Mixes two inputs averaging down amplitude
Mixes three inputs evenly
Mixes four inputs evenly
⇡cycle (frequency, expr1, expr2[, expr3])
Cycles between provided input streams first argument gives frequency of source hopping.
used internally for scalars, outputs the literal value supplied.