Skip to content

@liminal-hq/undertone / VoiceParams

Interface: VoiceParams

Defined in: types.ts:25

Properties

attack

attack: number

Defined in: types.ts:38


channelGains?

optional channelGains?: number[]

Defined in: types.ts:80

Per-speaker output gains for multichannel (up to 7.1) playback, in the Web-Audio-conventional order FL, FR, C, LFE, SL, SR, RL, RR (1-8 entries). Takes precedence over pan when set. Voices are folded down to stereo automatically when the context's destination has fewer channels.


decay

decay: number

Defined in: types.ts:39


delayFeedback

delayFeedback: number

Defined in: types.ts:65

Feedback (0-1) for the orbit's shared delay bus.


delayLevel?

optional delayLevel?: number

Defined in: types.ts:61

Delay send level (0-1) to this voice's orbit bus. No send at all when undefined or 0.


delayTime

delayTime: number

Defined in: types.ts:63

Delay time in seconds for the orbit's shared delay bus.


duration?

optional duration?: number

Defined in: types.ts:86

Gate length in seconds: the envelopes hold at their sustain level until this long after the voice starts, then release. Percussive (no hold) when undefined. The scheduler sets this from each event's pattern duration.


filterAttack

filterAttack: number

Defined in: types.ts:47


filterCutoff?

optional filterCutoff?: number

Defined in: types.ts:44

Base lowpass cutoff in Hz. No filter is created at all when undefined.


filterDecay

filterDecay: number

Defined in: types.ts:48


filterEnvAmount

filterEnvAmount: number

Defined in: types.ts:46

Hz the filter envelope adds on top of filterCutoff at its peak.


filterRelease

filterRelease: number

Defined in: types.ts:51


filterSustain

filterSustain: number

Defined in: types.ts:50

Fraction (0-1) between filterCutoff and its peak the decay stage settles to.


gainLevel

gainLevel: number

Defined in: types.ts:37


hpfCutoff?

optional hpfCutoff?: number

Defined in: types.ts:53

Static highpass cutoff in Hz, in series after the lowpass. No filter is created when undefined.


nudgeTime

nudgeTime: number

Defined in: types.ts:71

Start-time offset in seconds, relative to the pattern's shared start time.


orbit?

optional orbit?: number

Defined in: types.ts:67

Which shared effects bus (see effects.ts's getOrbitBus()) this voice's room/delay sends target. Default 0.


pan?

optional pan?: number

Defined in: types.ts:73

Stereo position from -1 (hard left) to 1 (hard right). No panner node is created when undefined.


phaserRate?

optional phaserRate?: number

Defined in: types.ts:55

LFO rate in Hz driving a 4-stage allpass phaser. No phaser is created when undefined.


pitch?

optional pitch?: string | number

Defined in: types.ts:28

Note name ("c2", "a4", "f#3") or a raw Hz number. Ignored for noise sound types.


release

release: number

Defined in: types.ts:42


roomLevel?

optional roomLevel?: number

Defined in: types.ts:57

Reverb send level (0-1) to this voice's orbit bus. No send at all when undefined or 0.


roomSize

roomSize: number

Defined in: types.ts:59

Reverb decay character for the orbit's shared bus, roughly 1 (short) to 10 (long) — see effects.ts.


sampleBank?

optional sampleBank?: string

Defined in: types.ts:36

.bank(name) — tried as ${sampleBank}_${sampleName} before falling back to sampleName alone.


sampleName?

optional sampleName?: string

Defined in: types.ts:34

A name registered via registerSample() (see samples.ts). Takes precedence over soundType when set — set by s()/.s() for any word that isn't a synth SoundType.


slideTime

slideTime: number

Defined in: types.ts:69

Pitch glide (portamento) time in seconds; starts an octave above the target and slides down.


soundType

soundType: SoundType

Defined in: types.ts:26


sustain

sustain: number

Defined in: types.ts:41

Fraction (0-1) of gainLevel the decay stage settles to before release.