Module hacker32

Source
Expand description

32-bit prelude.

Re-exports§

pub use super::audionode::*;
pub use super::audiounit::*;
pub use super::biquad::*;
pub use super::buffer::*;
pub use super::combinator::*;
pub use super::delay::*;
pub use super::dynamics::*;
pub use super::envelope::*;
pub use super::feedback::*;
pub use super::filter::*;
pub use super::fir::*;
pub use super::follow::*;
pub use super::granular::*;
pub use super::math::*;
pub use super::moog::*;
pub use super::net::*;
pub use super::noise::*;
pub use super::oscillator::*;
pub use super::oversample::*;
pub use super::pan::*;
pub use super::realnet::*;
pub use super::resample::*;
pub use super::resynth::*;
pub use super::reverb::*;
pub use super::rez::*;
pub use super::ring::*;
pub use super::sequencer::*;
pub use super::setting::*;
pub use super::shape::*;
pub use super::shared::*;
pub use super::signal::*;
pub use super::slot::*;
pub use super::snoop::*;
pub use super::svf::*;
pub use super::system::*;
pub use super::wave::*;
pub use super::wavetable::*;
pub use super::*;

Functions§

add
Add constant to signal.
adsr_live
ADSR envelope.
afollow
Parameter follower filter with halfway response times in seconds. The attack time is used for rising segments while the release time is used for falling segments.
allnest
A nested allpass. The feedforward coefficient of the outer allpass is set from the second input, which should have an absolute value smaller than one to prevent a blowup. The delay element of the outer allpass is replaced with x. The result is an allpass filter if x is allpass. If x is pass() then the result is a 1st order allpass. If x is a delay element then the result is a Schroeder allpass. If x is a 1st order allpass (allpole) then the result is a 2nd order nested allpass.
allnest_c
A nested allpass. The feedforward coefficient of the outer allpass is set from coefficient, which should have an absolute value smaller than one to prevent a blowup. The delay element of the outer allpass is replaced with x. The result is an allpass filter if x is allpass. If x is pass() then the result is a 1st order allpass. If x is a delay element then the result is a Schroeder allpass. If x is a 1st order allpass (allpole) then the result is a 2nd order nested allpass.
allpass
Allpass filter.
allpass_hz
Allpass filter centered at f Hz with Q value q.
allpass_q
Allpass filter with Q value q.
allpole
Allpass filter (1st order) with a configurable delay (delay > 0) in samples at DC.
allpole_delay
Allpass filter (1st order) with delay (delay > 0) in samples at DC.
bandpass
Bandpass filter.
bandpass_hz
Bandpass filter centered at f Hz with Q value q.
bandpass_q
Bandpass filter with Q value q.
bandrez
Resonant two-pole bandpass filter.
bandrez_hz
Resonant two-pole bandpass filter with fixed center frequency and Q.
bandrez_q
Resonant two-pole bandpass filter with fixed Q.
bell
Bell filter with adjustable gain.
bell_hz
Bell filter centered at f Hz with Q value q and amplitude gain gain.
bell_q
Bell filter with with Q value q and amplitude gain gain.
biquad
An arbitrary biquad filter with coefficients in normalized form.
branch
Branch x and y. Identical with x ^ y.
branchf
Branch into N similar nodes from fractional generator f. The fractional generator is given values in the range 0…1.
branchi
Branch into N similar nodes from indexed generator f.
brown
Brown noise.
bus
Bus x and y together: same as x & y.
busf
Bus N similar nodes from fractional generator f. The fractional generator is given values in the range 0…1.
busi
Bus N similar nodes from indexed generator f.
butterpass
Butterworth lowpass filter (2nd order).
butterpass_hz
Butterworth lowpass filter (2nd order) with fixed cutoff frequency f Hz.
chorus
Mono chorus, 5 voices. For stereo, stack two of these using different seed values. seed: LFO seed. separation: base voice separation in seconds (for example, 0.015). variation: delay variation in seconds (for example, 0.005). mod_frequency: delay modulation frequency (for example, 0.2).
clip
Clip signal to -1…1.
clip_to
Clip signal to minimummaximum.
constant
Constant node. The constant can be scalar, tuple, or a Frame. Synonymous with dc.
dbell
Biquad bell equalizer with nonlinear state shaping using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
dbell_hz
Biquad bell equalizer with nonlinear state shaping with fixed parameters, using waveshaper shape. Filter center is in Hz and gain is amplitude gain. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
dc
Constant node. The constant can be scalar, tuple, or a Frame. Synonymous with constant. (DC stands for “direct current”, which is an electrical engineering term used with signals.)
dcblock
Keeps a signal zero centered. The cutoff of the filter is 10 Hz.
dcblock_hz
Keeps a signal zero centered. Filter cutoff (in Hz) is usually somewhere below the audible range. The default blocker cutoff is 10 Hz.
declick
Apply 10 ms of fade-in to signal at time zero.
declick_s
Apply t seconds of fade-in to signal at time zero.
delay
Fixed delay of t seconds (t >= 0). Delay time is rounded to the nearest sample. The minimum delay is zero samples.
dhighpass
Biquad highpass with nonlinear state shaping using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
dhighpass_hz
Biquad highpass with nonlinear state shaping with fixed parameters, using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
dlowpass
Biquad lowpass with nonlinear state shaping using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
dlowpass_hz
Biquad lowpass with nonlinear state shaping with fixed parameters, using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
dresonator
Biquad resonator with nonlinear state shaping using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
dresonator_hz
Biquad resonator with nonlinear state shaping with fixed parameters, using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
dsf_saw
Saw-like discrete summation formula oscillator.
dsf_saw_r
Saw-like discrete summation formula oscillator. Roughness in 0…1 is the attenuation of successive partials.
dsf_square
Square-like discrete summation formula oscillator.
dsf_square_r
Square-like discrete summation formula oscillator. Roughness in 0…1 is the attenuation of successive partials.
envelope
Control envelope from time-varying function f(t) with t in seconds. Spaces samples using pseudorandom jittering. Synonymous with lfo.
envelope2
Control envelope from time-varying, input dependent function f(t, x) with t in seconds. Spaces samples using pseudorandom jittering. Synonymous with lfo2.
envelope3
Control envelope from time-varying, input dependent function f(t, x, y) with t in seconds. Spaces samples using pseudorandom jittering. Synonymous with lfo3.
envelope_in
Control envelope from time-varying, input dependent function f(t, i) with t in seconds and i of type &Frame<T, I> where I is the number of input channels. Spaces samples using pseudorandom jittering. Synonymous with lfo_in.
fbell
Biquad bell equalizer with nonlinear feedback using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
fbell_hz
Biquad bell equalizer with nonlinear feedback with fixed parameters, using waveshaper shape. Filter center is in Hz and gain is amplitude gain. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
fdn
Feedback delay network. Mix output of enclosed circuit x back to its input. The output is diffused with a Hadamard matrix for feedback. Feedback circuit x must have an equal number of inputs and outputs. The number of inputs and outputs must be a power of two.
fdn2
Feedback delay network. Mix output of enclosed circuit x back to its input, using y for extra feedback processing. The feedforward path does not include y. After y, the feedback signal is diffused with a Hadamard matrix. Feedback circuits x and y must have an equal number of inputs and outputs.
feedback
Mix output of enclosed circuit node back to its input. Feedback circuit node must have an equal number of inputs and outputs.
feedback2
Mix output of enclosed circuit node back to its input with extra loopback feedback loop processing. Feedback circuits node and loopback must have an equal number of inputs and outputs.
fhighpass
Biquad highpass with nonlinear feedback using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
fhighpass_hz
Biquad highpass with nonlinear feedback with fixed parameters, using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
fir
FIR filter.
fir3
Create a 3-point symmetric FIR from desired gain (gain >= 0) at the Nyquist frequency. Results in a monotonic low-pass filter when gain < 1.
flanger
Mono flanger. feedback_amount: amount of feedback (for example, 0.9 or -0.9). Negative feedback inverts feedback phase. minimum_delay: minimum delay in seconds (for example, 0.005). maximum_delay: maximum delay in seconds (for example, 0.010). ´delay_f´: Delay in minimum_delaymaximum_delay as a function of time. For example, |t| lerp11(0.005, 0.010, sin_hz(0.1, t)).
flowpass
Biquad lowpass with nonlinear feedback using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
flowpass_hz
Biquad lowpass with nonlinear feedback with fixed parameters, using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
follow
Parameter follower filter with halfway response time in seconds.
fresonator
Biquad resonator with nonlinear feedback using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
fresonator_hz
Biquad resonator with nonlinear feedback with fixed parameters, using waveshaper shape. The filter is stable when shape is nonexpansive. (The usual waveshapes are nonexpansive up to hardness 1.0).
hammond
Hammond wavetable oscillator. Emphasizes first three partials.
hammond_hz
Fixed Hammond wavetable oscillator at f Hz. Emphasizes first three partials.
highpass
Highpass filter.
highpass_hz
Highpass filter with cutoff frequency f Hz with Q value q.
highpass_q
Highpass filter with Q value q.
highpole
One-pole, one-zero highpass filter (1st order).
highpole_hz
One-pole, one-zero highpass filter (1st order) with fixed cutoff frequency.
highshelf
High shelf filter with adjustable gain.
highshelf_hz
High shelf filter centered at f Hz with Q value q and amplitude gain gain.
highshelf_q
High shelf filter with with Q value q and amplitude gain gain.
hold
Sample-and-hold component. Sampling frequency variability is in 0…1.
hold_hz
Sample-and-hold component. Sampling frequency variability is in 0…1.
impulse
N-channel impulse. The first sample on each channel is one and the rest are zero.
join
Average N channels into one. Inverse of split.
lfo
Control envelope from time-varying function f(t) with t in seconds. Spaces samples using pseudorandom jittering. Synonymous with envelope.
lfo2
Control envelope from time-varying, input dependent function f(t, x) with t in seconds. Spaces samples using pseudorandom jittering. Synonymous with envelope2.
lfo3
Control envelope from time-varying, input dependent function f(t, x, y) with t in seconds. Spaces samples using pseudorandom jittering. Synonymous with envelope3.
lfo_in
Control envelope from time-varying, input dependent function f(t, i) with t in seconds and i of type &Frame<T, I> where I is the number of input channels. Spaces samples using pseudorandom jittering. Synonymous with envelope_in.
limiter
Look-ahead limiter with attack and release times in seconds. Look-ahead is equal to the attack time.
limiter_stereo
Stereo look-ahead limiter with attack and release times in seconds. Look-ahead is equal to the attack time.
lorenz
Lorenz dynamical system oscillator.
lowpass
Lowpass filter.
lowpass_hz
Lowpass filter with cutoff frequency f Hz and Q value q.
lowpass_q
Lowpass filter with Q value q.
lowpole
One-pole lowpass filter (1st order).
lowpole_hz
One-pole lowpass filter (1st order) with fixed cutoff frequency f Hz.
lowrez
Resonant two-pole lowpass filter.
lowrez_hz
Resonant two-pole lowpass filter with fixed cutoff frequency and Q.
lowrez_q
Resonant two-pole lowpass filter with fixed Q.
lowshelf
Low shelf filter with adjustable gain.
lowshelf_hz
Low shelf filter centered at f Hz with Q value q and amplitude gain gain.
lowshelf_q
Low shelf filter with with Q value q and amplitude gain gain.
map
Transform channels freely. Accounted as non-linear processing for signal flow.
meter
Meter node. Outputs a summary of the input according to the chosen metering mode.
mls
Default Maximum Length Sequence noise generator.
mls_bits
Maximum Length Sequence noise generator from an n-bit sequence (1 <= n <= 31).
monitor
Monitor node. Passes through input. Communicates via the shared variable an aspect of the input signal according to the chosen metering mode.
moog
Moog resonant lowpass filter.
moog_hz
Moog resonant lowpass filter with fixed cutoff frequency and Q.
moog_q
Moog resonant lowpass filter with fixed Q.
morph
Morphing filter that morphs between lowpass, peak and highpass modes.
morph_hz
Morphing filter with center frequency f, Q value q, and morph morph (-1 = lowpass, 0 = peaking, 1 = highpass).
mul
Multiply signal with constant.
multijoin
Average N branches of M channels into one branch with M channels. The input has N * M channels. Inverse of multisplit::<M, N>.
multipass
Multichannel pass-through.
multisink
Multichannel sink. Inputs are discarded. -Input(s): signal
multisplit
Split M channels into N branches. The output has N * M channels.
multitap
Tapped delay line with cubic interpolation. The number of taps is N. Minimum and maximum delay times are in seconds (min_delay, max_delay >= 0). The minimum possible delay is one sample.
multitap_linear
Tapped delay line with linear interpolation. The number of taps is N. Minimum and maximum delay times are in seconds.
multitick
Multichannel single sample delay.
multizero
Multichannel zero generator.
noise
White noise generator. Synonymous with white.
notch
Notch filter.
notch_hz
Notch filter centered at f Hz with Q value q.
notch_q
Notch filter with Q value q.
organ
Organ wavetable oscillator. Emphasizes octave partials.
organ_hz
Fixed organ wavetable oscillator at f Hz. Emphasizes octave partials.
oversample
2x oversample enclosed node.
pan
Fixed equal power mono-to-stereo panner with pan value in -1…1 (left to right).
panner
Equal power mono-to-stereo panner.
pass
Mono pass-through.
peak
Peaking filter.
peak_hz
Peaking filter centered at f Hz with Q value q.
peak_q
Peaking filter with Q value q.
phaser
Mono phaser. feedback_amount: amount of feedback (for example, 0.5). Negative feedback inverts feedback phase. phase_f: allpass modulation value in 0…1 as function of time, for example |t| sin_hz(0.1, t) * 0.5 + 0.5.
pink
Pink noise.
pinkpass
Pinking filter.
pipe
Pipe x to y. Identical with x >> y.
pipef
Chain together N similar nodes from fractional generator f. The fractional generator is given values in the range 0…1.
pipei
Chain together N similar nodes from indexed generator f.
pluck
Karplus-Strong plucked string oscillator with frequency in Hz. High frequency damping is in 0…1.
product
Multiply outputs of x and y channelwise. Identical with x * y. -Input(s): Inputs of x followed with inputs of y. -Output(s): Product of x and y.
pulse
Pulse wave oscillator.
ramp
Ramp generator with output in 0…1. Not bandlimited.
ramp_hz
Ramp generator with output in 0…1 at fixed frequency f Hz.
ramp_hz_phase
Ramp generator with output in 0…1 at fixed frequency f Hz.
ramp_phase
Ramp generator with output in 0…1, starting from initial phase phase in 0…1.
resample
Resample enclosed generator node using cubic interpolation at speed obtained from input 0, where 1 is the original speed. Input 0: Sampling speed. Output(s): Resampled outputs of contained generator.
resonator
Constant-gain bandpass resonator.
resonator_hz
Constant-gain bandpass resonator with fixed center frequency (Hz) and bandwidth (Hz).
resynth
Frequency domain resynthesizer. The number of inputs is I and the number of outputs is O. The window length (in samples) must be a power of two and at least four. The resynthesizer processes windows of input samples transformed into the frequency domain. The user supplied processing function processes frequency domain inputs into frequency domain outputs. The outputs are inverse transformed and overlap-added. The latency in samples is equal to window length. If any output is a copy of an input, then the input will be reconstructed exactly once all windows are overlapping, which takes window_length extra samples.
reverb2_stereo
Create a stereo reverb unit (32-channel hybrid FDN). Parameters are room size (in meters, between 10 and 30 meters), reverberation time (in seconds, to -60 dB), diffusion amount (in 0…1), modulation speed (nominal range from 0 to 1, values beyond 1 are permitted and will start to create audible Doppler effects), and a user configurable loop filter. The loop filter is applied repeatedly to the reverb tail and can be used to implement frequency dependent filtering and other effects. More sophisticated (and expensive) than reverb_stereo.
reverb3_stereo
Allpass loop based stereo reverb. Parameters are reverberation time (in seconds to -60 dB), diffusion amount (in 0…1), and a user configurable loop filter. The loop filter is applied repeatedly to the reverb tail and can be used to implement frequency dependent filtering and other effects.
reverb4_stereo
Stereo reverb with a slow fade-in envelope. room_size is in meters (at least 15 meters). time is approximate reverberation time to -60 dB in seconds.
reverb4_stereo_delays
Create a stereo reverb unit, given delay times (in seconds) for the 32 delay lines and reverberation time (in seconds). WIP.
reverb_stereo
Stereo reverb (32-channel FDN). room_size is in meters. An average room size is 10 meters. time is approximate reverberation time to -60 dB in seconds. damping is high frequency damping in 0…1.
reverse
Reverse channel order.
rossler
Rossler dynamical system oscillator.
rotate
Rotate stereo signal angle radians and apply amplitude gain. Rotations can be useful for mixing because they maintain the L2 norm of the signal.
saw
Saw wavetable oscillator.
saw_hz
Fixed saw wavetable oscillator at f Hz.
shape
Shape signal.
shape_fn
Shape signal with a waveshaper function.
shared
Shared float variable. Can be read from and written to from multiple threads.
sine
Sine oscillator.
sine_hz
Fixed sine oscillator at f Hz.
sine_phase
Sine oscillator with initial phase in 0…1.
sink
Mono sink. Input is discarded. -Input 0: signal
snoop
Snoop node for sharing audio data with a frontend thread. The latest samples buffer has room for at least capacity samples. Returns (frontend, backend).
soft_saw
Soft saw wavetable oscillator. Contains all partials, falls off like a triangle wave.
soft_saw_hz
Fixed soft saw wavetable oscillator at f Hz. Contains all partials, falls off like a triangle wave.
split
Split signal into N channels.
square
Square wavetable oscillator.
square_hz
Fixed square wavetable oscillator at f Hz.
stack
Stack x and y. Identical with x | y.
stackf
Stack N similar nodes from fractional generator f. The fractional generator is given values in the range 0…1.
stacki
Stack N similar nodes from indexed generator f.
sub
Subtract constant from signal.
sum
Add outputs of x and y together. Identical with x + y. -Input(s): Inputs of x followed with inputs of y. -Output(s): From x and y.
sumf
Mix together N similar nodes from fractional generator f. The fractional generator is given values in the range 0…1.
sumi
Mix together N similar nodes from indexed generator f.
tap
Tapped delay line with cubic interpolation. Minimum and maximum delay times are in seconds (min_delay, max_delay >= 0). The minimum possible delay is one sample.
tap_linear
Tapped delay line with linear interpolation. Minimum and maximum delay times are in seconds.
thru
Pass through inputs that are missing from outputs. Identical with !x.
tick
Single sample delay.
timer
Timer node. A node with no inputs or outputs that maintains current stream time in a shared variable. It can be added to any node by stacking.
triangle
Triangle wavetable oscillator.
triangle_hz
Fixed triangle wavetable oscillator at f Hz.
unit
Convert AudioUnit unit to an AudioNode. The number of inputs and outputs is chosen statically and must match the AudioUnit.
update
Update enclosed node x with approximately dt seconds between updates. The update function is f(t, dt, x) where t is current time, dt is time from previous update, and x is the enclosed node.
var
Outputs the value of the shared variable.
var_fn
Shared variable mapped through a function. Outputs the value of the function, which may be scalar or tuple.
wavech
Play back a channel of a Wave. Optional loop point is the index to jump to at the end of the wave.
wavech_at
Play back a channel of a Wave starting from sample start_point, inclusive, and ending at sample end_point, exclusive. Optional loop point is the index to jump to at the end.
white
White noise generator. Synonymous with noise.
zero
Zero generator.

Type Aliases§

U0
U1
U2
U3
U4
U5
U6
U7
U8
U9
U10
U11
U12
U13
U14
U15
U16
U17
U18
U19
U20
U21
U22
U23
U24
U25
U26
U27
U28
U29
U30
U31
U32
U33
U34
U35
U36
U37
U38
U39
U40
U41
U42
U43
U44
U45
U46
U47
U48
U49
U50
U51
U52
U53
U54
U55
U56
U57
U58
U59
U60
U61
U62
U63
U64
U65
U66
U67
U68
U69
U70
U71
U72
U73
U74
U75
U76
U77
U78
U79
U80
U81
U82
U83
U84
U85
U86
U87
U88
U89
U90
U91
U92
U93
U94
U95
U96
U97
U98
U99
U100
U101
U102
U103
U104
U105
U106
U107
U108
U109
U110
U111
U112
U113
U114
U115
U116
U117
U118
U119
U120
U121
U122
U123
U124
U125
U126
U127
U128