Eidolon builds analog character from many small, inspectable mechanisms placed at specific points in the signal path, not from one effect at the end. This page states what each mechanism is, where it comes from, and its status in the engine.
The thesis
Each mechanism is ordinary signal processing that can be read, measured, and switched off for comparison. There is no machine-learning model. The mechanisms are of three kinds: published device equations, such as the amplifier and the console's voltage staging; algorithms modeled on a circuit family, such as the wavefolders and the filter's Character modes; and two generic saturation curves, which I kept by ear after a physically modeled replacement lost in a listening comparison.
References
| Reference | What Eidolon takes from it |
|---|---|
| ARP 2600 | A CA3080 transconductance amplifier model running its full hyperbolic-tangent curve, with a small offset for even harmonics and a bleed 60 dB down when closed. Filter key tracking at 100% by default, adjustable from −100% to +200%. |
| Soundcraft 600 | The master output path: the 10 dB pad to internal level, the virtual-earth mix bus, the 10 dB make-up amplifier, rail limits, and slew. Its published distortion rises with frequency, below 0.005% at 1 kHz and below 0.02% at 20 kHz. That distortion, and the distortion of the synth's own summing bus and output driver, is not implemented yet. |
| Sequential Prophet-5 | Voice variation: fixed per-voice offsets to tuning, cutoff, envelope times, and gain, drawn from a seed, plus slow pitch drift. Splitting variation into offsets and drift is my modeling choice. |
| Schwa Olga | Slight waveform variation every cycle, in all three oscillator engines. Unlike Olga, each note starts at a fixed per-voice phase, spread by a golden-ratio sequence. Random start phases occasionally aligned into a click at a chord's onset. |
| Buchla 259, Serge, Lockhart, Doepfer A-137-1 | Four wavefolder topologies (Buchla, Serge with a Lockhart variant, Bent, WaveMult), a low-pass gate filter mode, and dynamics re-applied after folding. |
| Moog sawtooth model (Pekonen et al.) | In the Bézier engine, the sawtooth's ramp curvature follows the paper's frequency-dependent coefficient, scaled by Warmth. |
| Pines diode VCA | The amplifier's second stage, a diode-amplifier model solved with the Wright omega function. Its distortion rises as its gain falls. Placing it after the CA3080 is my design choice, not a historical circuit. |
The signal chain
Each voice runs at four times the host sample rate through the amplifier, then filters back down before the voices sum. Amber stages are nonlinear or noise.
- 3 × OscillatorBézier, additive, or wavetable engine, each band-limited at the source. The Bézier engine uses minBLEP corrections.
- Per-oscillator saturationA generic curve with antiderivative antialiasing, kept by ear.
- Wavefolder A → BFour topologies, each bypassable. Dynamics re-applied after folding.
- Pre-filter saturationA second generic curve with antiderivative antialiasing. It sets how hard the filters are driven.
- Filter A → Filter BOne state-variable filter design used twice in series: LP, HP, BP, or low-pass gate, two or four poles. Character (Clean, Warm, Bright, Aggressive, Vintage) sets how its internal state saturates. An optional shaper between the filters offers six saturation types.
- Voice noisePink and white noise at a set dBFS level, scaled by the amplifier envelope. It measures at or below the circuit's thermal noise budget, about −145 dBFS per hertz.
- Hybrid amplifierCA3080 tanh with antiderivative antialiasing, into the Pines diode model. The last nonlinearity in each voice.
- Width, gain, and decimationPer-voice mid-side width and one fixed gain, then filtering back to the host rate.
- Voice sum → master analogue block → outputThe synth's summing bus, output driver, and the Soundcraft 600 line path, staged in volts at four times the rate. An effects rack follows (tube, bucket-brigade delay, plate reverb, tape), off by default. A constant bus noise at −110 dBFS and the master gain close the path.
Structural or linear stageNonlinear or noise stage
Design decisions
| Decision | Why |
|---|---|
| Coloration distributed across the chain, each mechanism switchable | Each can be heard and measured on its own |
| One filter design, used twice in series | Character changes without rebuilding the filter |
| Per-voice offsets from a fixed seed, with slow drift | Voices differ like an analog polysynth's, and every render is reproducible |
| A drift floor that cannot be switched off | Every voice keeps some pitch movement; Warmth can still go to zero |
| Noise injected before the amplifier | The envelope scales it, so it falls away between notes |
| A physically staged console path, not a generic limiter | Headroom, rails, and slew follow the Soundcraft 600's documented line path |
| Band-limited oscillators, colored downstream | An aliasing source would compound through every later nonlinearity |
Five rules are fixed, each from a specific failure: inject noise before the amplifier; retire a voice when its envelope finishes, not when its output drops; never reset the oversampling filters at a note's start; scale every voice by one fixed factor, not by the number sounding; prime a nonlinearity's memory at note onset.
Method
Build from published theory, measure at a named point in the signal path, then listen. A change that alters the sound must pass a level-matched listening comparison before it is accepted. Measured baselines are loosened only with a written justification. All per-voice randomness comes from fixed seeds, so a given sequence of notes always renders identically.
Sources
- T. Stilson and J. O. Smith. Alias-Free Digital Synthesis of Classic Analog Waveforms, Proc. ICMC, 1996.
- A. Huovilainen. Non-Linear Digital Implementation of the Moog Ladder Filter, Proc. DAFx-04, pp. 61–64, 2004.
- V. Välimäki and A. Huovilainen. Antialiasing Oscillators in Subtractive Synthesis, IEEE Signal Processing Magazine, vol. 24, no. 2, pp. 116–125, 2007.
- V. Zavalishin. The Art of VA Filter Design, Native Instruments, rev. 2.1.0, 2018.
- J. Pekonen, V. Lazzarini, J. Timoney, J. Kleimola, and V. Välimäki. Discrete-Time Modelling of the Moog Sawtooth Oscillator Waveform, EURASIP Journal on Advances in Signal Processing, vol. 2011, Article 785103.
- E. Brandt. Hard Sync Without Aliasing, Proc. ICMC, 2001.
- F. Esqueda, H. Pöntynen, V. Välimäki, and J. D. Parker. Virtual Analog Buchla 259 Wavefolder, Proc. DAFx-17, pp. 192–199, 2017.
- J. D. Parker, V. Zavalishin, and E. Le Bivic. Reducing the Aliasing of Nonlinear Waveshaping Using Continuous-Time Convolution, Proc. DAFx-16, 2016.
- C. Pines. Real-Time Virtual Analog Modelling of Diode-Based VCAs, Proc. DAFx-25, 2025.
- Renesas. AN6668: Applications of the CA3080 and CA3080A, application note.
- Sequential. Prophet-5 User's Guide, version 1.3, 2021.
- Soundcraft. Series 600, product archive and user documentation.