REF / Hz.Plugins / Hz.LFO

Hz.Samplo, Hz.Syntho, FluidSynth, Hz.Osc
Hz.Filt, Hz.Echo, Hz.Delay, Hz.Reverb
Hz.Mix, Hz.LFO, Hz.ADSR
see also Hz.Builtins, Plugin Explorer, Hz.Plugins Examples


Wherein we explore the lower bounds of oscillation.

Hz.LFO

Hz.LFO is a standalone CLAP plugin that is also a component of other Hz plugins like Hz.Osc and Hz.Samplo.

Hz.LFO produces audio rate, low frequency oscillations suitable for connecting to other audio input ports for use in phase and ampltidue modulation. When operating as a module, Hz.LFO can be used to drive internal plugin parameters. However if you wish to drive anode parameters with an LFO signal, please see Hz.ModLFO.

Webview GUI

Each Hz.LFO panel includes the parameter operation controls at top.

download syncs the GUI with the current state of the associated instance.

upload pushes the GUI parameter settings to the associated instance.

bookmark selects from a list of named parameter settings.

You can manipulate the parameter settings in this GUI when the associated instance is live. Please note that these values have no intrinsic persistence. In other words, you should save favorite parameter settings to a text file or in the preset settings (which is more volatile).

Two buttons to the left of the envelope allow you to:

toggle smooth on the envelope.

copy LFO envelopes (knotlists) from Envelope Editor or other clipboard providers like Vital.

When UpdateGui is enabled, the audio engine delivers periodic samples of the LFO and these are presented as yellow dots in the plot. For small LFO periods, or for random styles, the dots may appear in apparently random due to aliasing. For large periods, the underlying curve is easily discerned by the samples.

Parameters

Name Id Description Range
Trigger 100 LFO restart trigger 0:NoteOn, 1:NoteOff, 2:FreeRunning, 3:Never (0)
TriggerOrigin 101 LFO origin when restarted 0:Start, 1:Global, 2:Random, 3:PointCycle (0)
Delay 102 Time in seconds to delay when triggered 0-4 seconds (0)
Loop 103 Controls weather LFO restarts on completion. 0 or 1 (0)
PeriodMeasure 104 Units of Period 0:Seconds, 1: Beats, 2: KeyTrack (0)
Period 105 Duration of a cycle 0=10 (0)
KeytrackOffset 106 Keys of offset when key tracking -100-100 (-24)
KeytrackDetune 107 -100 - 100 (0)
Amplitude 108 Maximum Envelope Value 0-8 (1)
UpdateGui 109 Request updates from running audio engine 0 or 1 (1)
Style 110 LFO style 0:Knotlist, 1:RandomHold, 2:RandomLine, 3:RandomCurve, 4:Random, 5:RandomChoice (0)

LoadPreset

Hz.LFO supports init-time presets as well as the explicit LoadPreset method.

A preset is a string containing a JSON-formatted object with parameter name/value pairs. Three special parameters, shape, knotlist and choices can be used to deliver preset shapes or explicit knotlists used when Style is 0 or 5 (RandomChoice).

Here are two example snippets

  1. Init-time preset with a single parameter:
let lfo = scene.NewAnode("Hz.LFO", {name:"lfo", preset:{shape:"sine"}});
  1. Explicit preset loading and synchronization (including standard parameters):
let preset =  {
  "Style": 0,
  "Period": 4,
  "knotlist": {
    "name":"weird one",
    "smooth":true,
    "data":[0,0,0,0,1,-2.5320870876312256,0.125,0,0,0.125,0.8064546138048172,-2.0739049911499023,0.1875,0,0,0.1875,0.8367978036403656,-2.318324327468872,0.25,0,0,0.25,0.5651739239692688,-2.942765712738037,0.375,0,0,0.3792553191489362,0.8392674215582581,-2.5983188152313232,0.5,0,0,0.5,0.458682119846344,-2.670619010925293,0.5625,0,0,0.5625,0.7534877210855484,-2.133754014968872,0.625,0,0,0.625,0.408993661403656,-1.8389023542404175,0.75,0,0,0.75,0.8749767541885376,-1.1424733400344849,0.7916666865348816,0,0,0.7916666865348816,0.6454613208770752,-2.0506770610809326,0.8333333134651184,0,0,0.8333333134651184,0.4726794958114624,-2.420653820037842,0.875,0,0,0.875,0.891136534512043,-1.9837125539779663,0.9166666865348816,0,0,0.9166666865348816,0.653018057346344,-1.4197474718093872,0.9583333134651184,0,0,0.9583333134651184,0.8259161114692688,-1.7568707466125488,1,0,0,1,0,0],
    "prefs":{"speed":".25"}
  },
  "choices": [0, 10, 20, 75]
};
await lfo.LoadPreset(JSON.stringify(preset))

Styles

Please see Hz.ModRand for details on the variety of random modulation styles.

See Also

Hz.LFO Examples . Hz.ModLFO Ref . Hz.ModLFO Examples

home .. topics .. interface .. reference .. examples .. tipjar