Organic No-Input Mixer — User Guide

A digital nonlinear feedback-network abstraction inspired by no-input mixing. The engine is autonomous: continuous circuit-noise excitation drives a time-varying resonant recurrence whose small-signal loop growth can move below, at, or above the self-oscillation threshold.

Author: Shai Cohen Affiliation: Department of Music, Bar-Ilan University, Israel Version: 0.4 (2026) License: MIT License Repo: Praat AudioTools
Contents:

Scope

This script is inspired by the autonomous-feedback logic of a no-input mixing setup, where an output is routed back into an input and the resulting loop becomes the instrument. It does not emulate the circuitry, EQ topology, impedance behavior, or gain structure of a specific analog mixer.

Implemented here: a digital, second-order resonant feedback recurrence with continuous noise excitation, time-varying resonance frequency, time-varying small-signal loop growth, and amplitude-dependent nonlinear loop loss.

The name Organic refers specifically to the correlated stochastic drift built into the model. It is not a claim that the output is inherently natural, analog, warm, or biologically modeled.

Quick start

  1. Run Organic_No-Input_Mixer.praat. No input Sound is required.
  2. Choose Custom or one of the five presets.
  3. Set Duration, Output sample rate, Loop growth, Resonance center, Nonlinear loop compression, Circuit noise RMS, Organic instability/rate, Spatial mode, and Random seed.
  4. Run the script. The two correlated-control random walks are generated first, followed by the nonlinear feedback core at the internal render rate.
  5. If needed, the core is sinc-resampled once to the requested output rate, then spatialized, faded, peak-protected, visualized, and optionally played.

Preset selection overrides the feedback/noise/instability parameters listed below. Output sample rate, Spatial mode, Random seed, Peak protection, visualization, and playback remain user-controlled.

The feedback model

Version 0.4 uses a genuine sample-by-sample recurrence. It no longer processes an entire duration-long Sound repeatedly through offline filter passes.

The small-signal resonator is approximately:

y[n] = 2 Reff[n] cos(ω[n]) y[n-1] - Reff[n]2 y[n-2] + circuitNoise[n]

with:

ω[n] = 2π × resonanceFrequency[n] / Fsinternal

For a fixed coefficient pair, the corresponding poles lie approximately at:

R × exp(±jω)

The resonance frequency therefore comes from the pole angle, while the small-signal growth/decay tendency comes from the pole radius.

Continuous circuit-noise excitation

The core is initially filled with very low-level Gaussian noise and receives another Gaussian noise term at every recurrence sample. Circuit noise RMS therefore acts as continuous excitation, not merely as a one-time startup seed.

Loop growth and the self-oscillation threshold

The main stability control is expressed as net small-signal loop growth in dB per second, not as a raw pole radius. The script converts it to the internal sample-rate domain:

R[n] = 10^(growth[n] / (20 × Fsinternal))

This gives a direct interpretation that remains meaningful when the output sample rate or oversampling factor changes:

GrowthLinearized behavior
< 0 dB/sSubcritical: resonance decays in the small-signal model and is continually re-excited by circuit noise.
0 dB/sLinearized edge of self-oscillation: pole radius ≈ 1.
> 0 dB/sSupercritical: small signals tend to grow until nonlinear loop compression adds sufficient loss.

Amplitude-dependent loop compression

Instead of clipping the feedback waveform directly, the engine reduces the instantaneous loop radius as the previous sample becomes larger:

compressionCoeff = NonlinearLoopCompression × 80 dB/s Rloss[n] = 10^( -compressionCoeff × y[n-1]² / (20 × Fsinternal) ) Reff[n] = Rsmall-signal[n] × Rloss[n]

This adds amplitude-dependent loss while leaving the resonator angle/frequency term intact. It is a compact nonlinear feedback model, not a measured analog saturation curve.

Organic instability: correlated drift in musical time

Two independent bounded OU-like random walks run at an internal control rate of 80 Hz:

The correlation coefficient is derived from Organic rate:

a = exp(-2π × OrganicRate / 80) innovation = sqrt(1 - a²)

Each walk is constrained to -1…+1, preventing unbounded parameter wandering.

Frequency drift

resonanceFrequency[t] = effectiveCenter × 2^( OrganicInstability × 0.80 × freqDrift[t] )

At Organic instability = 1, the full drift control can span up to ±0.80 octaves around the effective center before output-band clamping.

Growth drift

growth[t] = LoopGrowth + OrganicInstability × 30 dB/s × gainDrift[t]

This means that even a preset whose nominal Loop growth is below zero may occasionally cross the 0 dB/s threshold when Organic instability is large enough. Conversely, a nominally positive loop can temporarily fall below threshold.

The visualization reports the actual fraction of control samples above the threshold.

Random seed

Random seed 0 uses an unpredictable random state. A positive seed reproduces the correlated drift trajectories, circuit-noise sequence, and resulting audio for the same settings.

Internal oversampling and frequency safety

The nonlinear feedback core is rendered at:

Fsinternal = min(192000, 2 × Fsoutput)

Thus the core is rendered at up to 2× the requested output rate, capped at 192 kHz. At high output rates the oversampling factor can therefore be less than 2.

If the internal rate differs from the requested output rate, the mono feedback core is sinc-resampled once before spatialization.

Oversampling reduces aliasing generated by the nonlinear loop-loss mechanism, but it does not mathematically eliminate nonlinear aliasing.

Resonance headroom

The requested center is limited against:

safeTop = 0.42 × Fsoutput

If needed, one common scale is applied to the requested center. The time-varying frequency trajectory is then clamped between 20 Hz and safeTop.

Controls

ControlDefault / rangeBehavior
Duration10 s; max 180 sExact final Sound duration.
Output sample rate44.1 kHz; 8–192 kHzRequested final sample rate. The feedback core may run internally at a higher rate.
Loop growth0 dB/s; -120…+120Nominal small-signal loop growth before stochastic drift and amplitude-dependent compression.
Resonance center220 Hz; minimum 20 HzNominal pole-angle frequency before frequency drift and sampling-headroom scaling.
Nonlinear loop compression1.8; .2–20Strength of amplitude-dependent loop loss.
Circuit noise RMS.00001; >0–.1Continuous Gaussian excitation level inside the recurrence.
Organic instability.08; 0–1Depth of both frequency and growth random walks.
Organic rate.15 Hz; >0–10Approximate correlation-rate control for both OU-like drift processes.
Spatial modeMonoApplied after the mono feedback core.
Random seed00 = unpredictable; positive = reproducible stochastic realization.

Internal constants not exposed in the form include: 80 Hz drift-control rate, maximum ±0.80-octave frequency drift at full instability, ±30 dB/s growth drift at full instability, master amplitude .72, 25 ms edge fade, 1.20 ms Stereo Wide delay, .30 ms headphone delay, and .08 Hz rotation rate.

Presets

PresetOverridesModel emphasis
Edge of Oscillation0 dB/s; 440 Hz; compression 1.45; noise .000006; instability .08; rate .12 HzNominally centered on the linearized self-oscillation threshold with slow correlated drift.
Deep Throbbing Feedback+7 dB/s; 62 Hz; compression 2.10; noise .000004; instability .13; rate .07 HzLow resonance with supercritical small-signal growth and stronger nonlinear regulation.
High Frequency Whistle+2 dB/s; 2600 Hz; compression 1.55; noise .000003; instability .025; rate .20 HzNarrowly wandering high-frequency self-oscillatory behavior.
Crackling Near-Threshold Loop-2 dB/s; 820 Hz; compression 2.80; noise .000045; instability .24; rate .65 HzNoise-sustained subcritical loop with enough growth drift to produce rapid threshold excursions.
Unstable Resonance+1 dB/s; 360 Hz; compression 2.30; noise .000008; instability .28; rate .22 HzNear-threshold resonance with comparatively wide frequency/growth drift.

The presets do not change output sample rate, Spatial mode, Random seed, Peak protection, visualization, or playback.

Spatial modes

All spatial processing happens after the mono feedback network has been rendered. These modes therefore do not change the feedback topology itself.

Mono

The resampled feedback core remains one channel.

Stereo Wide

The left channel is the direct mono core. The right channel is the same core delayed by 1.20 ms:

L = core(t)
R = core(t - 1.20 ms)

There is no frequency split in v0.4.

Slow Rotation

The mono core is placed on a continuous equal-power pan trajectory:

pan = 0.5 + 0.46 sin(2π × 0.08 × t) L = core × sqrt(1 - pan)
R = core × sqrt(pan)

Micro-delay Headphone

The left channel is direct. The right channel is delayed by .30 ms and multiplied by .92:

L = core(t)
R = 0.92 × core(t - 0.30 ms)
This is a simple ITD/ILD study. It is not an HRTF or binaural simulation.

Output and level

PropertyBehavior
InputNo selected Sound is required.
DurationExactly the requested Duration.
Output sample rateExactly the requested 8–192 kHz rate.
ChannelsMono for Mono; stereo for all other modes.
Edge fadeCommon 25 ms linear fade-in/out, capped at 20% of Duration.
Peak protectionIf enabled and the final peak exceeds .92, the complete output is scaled down once to .92.
NormalizationNo unconditional normalization and no upward gain. Signals already at or below .92 keep their generated level.
Output nameOrganic_NoInput_<preset name>, with spaces replaced by underscores.

Visualization and QC

PanelWhat it shows
A — Actual Loop GrowthThe realized growth trajectory in dB/s. The 0 dB/s line is the linearized self-oscillation threshold; segments above threshold are visually distinguished.
B — Actual Resonance TrajectoryThe bounded correlated resonance-frequency drift, with the effective nominal center shown as a guide.
C — Model → MeasurementMeasured output spectrogram with the actual resonance trajectory overlaid.
D — Measured Output EnergyShort-time RMS in dB across the final output, showing growth, nonlinear regulation, decay, and re-excitation behavior.

For stereo output, Panels C and D use whichever complete output channel has the higher RMS.

The QC strip reports the model scope, realized loop-growth range and percentage of time above threshold, realized resonance range, output/internal sample rates, common frequency scale, spatial mode, pre-protection peak/RMS, and whether down-only peak protection was applied.

Further reading

These sources are directly relevant to the no-input feedback practice that motivates the engine: