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.
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.
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
- Run
Organic_No-Input_Mixer.praat. No input Sound is required. - Choose Custom or one of the five presets.
- Set Duration, Output sample rate, Loop growth, Resonance center, Nonlinear loop compression, Circuit noise RMS, Organic instability/rate, Spatial mode, and Random seed.
- Run the script. The two correlated-control random walks are generated first, followed by the nonlinear feedback core at the internal render rate.
- 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:
with:
For a fixed coefficient pair, the corresponding poles lie approximately at:
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:
This gives a direct interpretation that remains meaningful when the output sample rate or oversampling factor changes:
| Growth | Linearized behavior |
|---|---|
| < 0 dB/s | Subcritical: resonance decays in the small-signal model and is continually re-excited by circuit noise. |
| 0 dB/s | Linearized edge of self-oscillation: pole radius ≈ 1. |
| > 0 dB/s | Supercritical: 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:
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:
- one perturbs resonance frequency;
- one perturbs loop growth around the threshold.
The correlation coefficient is derived from Organic rate:
Each walk is constrained to -1…+1, preventing unbounded parameter wandering.
Frequency drift
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
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:
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.
Resonance headroom
The requested center is limited against:
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
| Control | Default / range | Behavior |
|---|---|---|
| Duration | 10 s; max 180 s | Exact final Sound duration. |
| Output sample rate | 44.1 kHz; 8–192 kHz | Requested final sample rate. The feedback core may run internally at a higher rate. |
| Loop growth | 0 dB/s; -120…+120 | Nominal small-signal loop growth before stochastic drift and amplitude-dependent compression. |
| Resonance center | 220 Hz; minimum 20 Hz | Nominal pole-angle frequency before frequency drift and sampling-headroom scaling. |
| Nonlinear loop compression | 1.8; .2–20 | Strength of amplitude-dependent loop loss. |
| Circuit noise RMS | .00001; >0–.1 | Continuous Gaussian excitation level inside the recurrence. |
| Organic instability | .08; 0–1 | Depth of both frequency and growth random walks. |
| Organic rate | .15 Hz; >0–10 | Approximate correlation-rate control for both OU-like drift processes. |
| Spatial mode | Mono | Applied after the mono feedback core. |
| Random seed | 0 | 0 = 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
| Preset | Overrides | Model emphasis |
|---|---|---|
| Edge of Oscillation | 0 dB/s; 440 Hz; compression 1.45; noise .000006; instability .08; rate .12 Hz | Nominally 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 Hz | Low 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 Hz | Narrowly wandering high-frequency self-oscillatory behavior. |
| Crackling Near-Threshold Loop | -2 dB/s; 820 Hz; compression 2.80; noise .000045; instability .24; rate .65 Hz | Noise-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 Hz | Near-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:
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:
R = core × sqrt(pan)
Micro-delay Headphone
The left channel is direct. The right channel is delayed by .30 ms and multiplied by .92:
R = 0.92 × core(t - 0.30 ms)
Output and level
| Property | Behavior |
|---|---|
| Input | No selected Sound is required. |
| Duration | Exactly the requested Duration. |
| Output sample rate | Exactly the requested 8–192 kHz rate. |
| Channels | Mono for Mono; stereo for all other modes. |
| Edge fade | Common 25 ms linear fade-in/out, capped at 20% of Duration. |
| Peak protection | If enabled and the final peak exceeds .92, the complete output is scaled down once to .92. |
| Normalization | No unconditional normalization and no upward gain. Signals already at or below .92 keep their generated level. |
| Output name | Organic_NoInput_<preset name>, with spaces replaced by underscores. |
Visualization and QC
| Panel | What it shows |
|---|---|
| A — Actual Loop Growth | The 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 Trajectory | The bounded correlated resonance-frequency drift, with the effective nominal center shown as a guide. |
| C — Model → Measurement | Measured output spectrogram with the actual resonance trajectory overlaid. |
| D — Measured Output Energy | Short-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:
- Mudd, T., & Brown, A. (2023). “Musical pathways through the no-input mixer.” Proceedings of the International Conference on New Interfaces for Musical Expression, article 56, pp. 402–408. DOI: 10.5281/zenodo.11189224.
- NTT InterCommunication Center (ICC). “NAKAMURA Toshimaru.” Artist profile describing Nakamura's self-named no-input mixing board and its use without an external sound source: ICC Archive.