One key first: A4, soft / medium / hard. Independently measured additive starting points, not yet an interpolated piano.
Inside the approximation — diagrams, equations, envelopes, and all 30,720 table bytes
Design lab — fewer updates, smooth gain/pan/send motion
Compression lab — tune bits, curve points, and CPU update counts independently
Play soft in FANCOPlay medium in FANCOPlay hard in FANCO
The current two synth previews include their complete tails: 16 seconds plus a short lead-in. Earlier previews, including the real reference, contain six seconds. Current comparisons use the same playback gain, without independent normalization. Keep your usual comfortable volume.
Three players, one note each. The compact version uses the lab’s current defaults: 16 destinations per partial, 4-bit log heights over 60 dB, time expansion 6, rounded S interpolation in gain space, 600 Hz CPU updates, and exponential tails starting at four seconds.
Real piano — six-second reference
Current favorite — full 30,720-byte gain table
Compact — 16 points × 4 bits + exponential decay
Play compact piano in FANCOPlay table baselineInspect the compact curve model
Same nine generators, eight output slots, hammer, tuning, quarter-width pan, and four reverb lines. Only the envelope player changes. Both synth previews use the same playback gain and include the ending without a preview fade.
1,109-byte complete program: 92-byte envelope descriptor, 32-byte time grid, 160 bytes of shared gain/decay lookup tables, 524 bytes of CPU code, 9 hammer-envelope bytes, 272 sound-register bytes, and 20 framing bytes. Working state is 116 bytes, plus stack. No full envelope expansion table and no chipset changes.
The CPU evaluates the compact curve directly. Measured body cost: about 200,000 guest instructions/second, with no missed ticks. Native mixer values stay within one gain unit of the lab model. Gains reach exact silence at 11.56 s; the reverb then settles. The old baseline retains its eight-second cutoff.
Does the compact version keep the same organic character?
Five players, one note each. These are targeted listening experiments, not a claim that matching an FFT matches your hearing. All three start from unchanged quarter-width, without stacking the previous opening or air adjustments.
Real piano — original stereo
Quarter — unchanged favorite
Quarter — less 440 Hz body at the opening
Quarter — less 1.33 kHz upper tone at the opening
Quarter — both opening reductions
Play unchanged quarter in FANCOPlay less bodyPlay less upper tonePlay both
Does either opening feel closer to the real piano, rather than merely quieter or thinner?
Body: reduce the first partial by 3 dB. Upper tone: reduce the third partial by 6 dB. Each reduction holds through 200 ms, then fades back to the original control values by 500 ms. Other partial curves, pan, and reverb settings are unchanged. The body reduction also scales the brief hammer modulation carried by that partial; the noise generator is not separately retuned.
Same playback gain as quarter-width; no independent normalization. The upper-tone version changes first-200-ms total RMS by only −0.15 dB, whereas the body version changes it by −2.09 dB. Those measurements describe the signals, not perceived loudness. All late rendered tails match the baseline from three seconds onward.
Only existing control values changed. Still nine generators, eight slots, four delay lines, 31,146 program bytes, and 51,849 guest instructions in each 16-second render. No new filters, operators, or chip changes. Previous comparisons and unchanged originals remain below.
Five players, one note each. Quarter-width is preserved unchanged. Compare the two adjustments separately, then together.
Real piano — original stereo
Quarter — unchanged favorite
Quarter + quieter opening
Quarter + wider, quieter reverb
Quarter + both adjustments
Play unchanged quarter in FANCOPlay quieter openingPlay wider reverbPlay both
Opening: a smooth dip starting after 20 ms, reaching −0.75 dB at 40 ms, held through 180 ms and returning to unchanged control levels by 350 ms. The hammer generator is untouched. Measured 40–180 ms output drops 0.73 dB in the opening-only variant; the first 10 ms are identical.
Air experiment: the direct sound retains quarter width. Only the existing reverb output tap levels change: isolated reverb is 3.23 dB quieter over the first second, while its side-to-mid RMS ratio rises from 0.115 to 0.268. Delay timing, damping, and feedback remain unchanged. Whether this sounds airier is a listening question, not an established result.
The three new synth previews use exactly the same playback gain as quarter-width, not independent loudness normalization. No additional generators, output slots, delay lines, program bytes, or guest instructions: nine generators, eight slots, four lines, 31,146 bytes, and 51,849 guest instructions in each 16-second verification render. All originals remain unchanged.
Each player plays one note only. The hammer and generator settings stay unchanged. These narrow both the direct sound and reverb, rather than adding another effect.
Real piano — original stereo
E — unchanged stereo baseline
E — half stereo width
E — quarter stereo width
E — mono endpoint, unchanged previous preview
Play original E in FANCOPlay half width in FANCOPlay quarter width in FANCO
Does narrowing make E less plastic while keeping enough of the stereo character?
The two new variants run natively in SIREN. Existing output pan/gain values, delay sends, and stereo tap levels approximate reducing the side signal to 50% or 25% while preserving the mono sum. Before preview level matching, the first-second mono waveform differs from E by less than 0.1% RMS because of register rounding. Reverb delays, damping, and feedback are unchanged; no new effects or altered hammer transient. All players are first-second RMS matched.
Both retain nine generators, eight output slots, four delay lines, 31,146 program bytes, and the same 51,849 guest instructions in the 16-second verification render. No new tables or update work. Original E and all earlier previews are untouched. This tests stereo presentation; it does not claim to reconstruct the recording’s phase relationships or fix the left-channel attack.
Four players, one note each. “Left” and “right” identify the source channel, not the playback speaker: each is copied identically to both speakers. Keep your usual quiet volume and the phone in the same position.
Real piano — left channel through both speakers
E — left channel through both speakers
Real piano — right channel through both speakers
E — right channel through both speakers
Does either real-piano channel keep the velvet or ringing? Does E still sound plastic when comparing the same source channel?
Each isolated channel is matched to −20 dBFS RMS over the first second after onset. Peak levels can differ; this is average-level matching, not compression. Timing and duration are unchanged. Unlike the previous mono fold-down, this does not sum left and right together, so there is no cancellation between the two source channels. No EQ, added effects, synthesis changes, or extra SIREN resources. It is not a speaker or hearing test; original stereo and summed-mono comparisons remain below.
Four players, one note each. No synthesis changes. Keep your usual quiet volume and the phone in the same position.
Real piano — original stereo
E — original stereo
Real piano — mono
E — mono
Does the real piano still feel more velvety in the mono pair? Does the gap shrink, grow, or stay about the same?
Mono is (left + right) / 2, copied identically to both channels, then matched to −20 dBFS RMS over the first second after onset. Duration and timing are unchanged; no EQ, compression, added effects, or new SIREN resources. Folding reduces the reference’s first-second level by 3.69 dB and E’s by 0.34 dB before matching. The stereo files are untouched. Mono retains any cancellation from summing the original channels, so this checks playback presentation rather than proving or excluding a phase explanation. It is not an iPhone speaker simulation.
Each player plays one note only. E remains unchanged. These three alternatives explore different kinds of ring, not a sequence of assumed improvements.
Reference — real Steinway
E — unchanged favorite, with reverb
J — longer upper-partial tails
K — pitch-tuned delay resonance
L — subtle self-feedback harmonics
Play E in FANCOPlay J in FANCOPlay K in FANCOPlay L in FANCO
J leaves the first 80 ms and fundamental curve intact, then stretches partials 2–8 in time by 12–35%. K repurposes the four existing delay lines as two room loops and two quiet comb resonators targeting the second and third partials; this also changes the room character. L adds restrained self phase feedback to the first three generators, producing extra harmonics without extra generators. J/L keep E’s reverb settings. These are listening hypotheses, not measured reconstructions of piano strings or soundboard modes.
Each variant still uses nine generators, eight output slots, four delay lines, a 31,146-byte program, and the same 240-Hz guest update stream. No new chip machinery or tables. Self-feedback activates existing renderer arithmetic; identical guest work is not a claim of identical host CPU time. All previews are level-matched; E and every earlier audio file remain untouched.
Each player plays one note only. E is unchanged. G, H, and I keep E’s reverb settings, tuning, and stereo placement; no added shimmer.
Reference — real Steinway
E — unchanged reverb baseline
G — E + gentler attack
H — E + slightly darker tone
I — E + gentler attack and darker tone
Play E in FANCOPlay G in FANCOPlay H in FANCOPlay I in FANCO
G uses a 16-ms eased onset instead of the 8-ms onset multiplier and halves the hammer-noise envelope; the later dry body is unchanged. H progressively reduces partials 2–8 by 1–5 dB before level matching. I combines those changes. These are listening hypotheses, not corrections proven by the recording. All use nine generators, eight output slots, and four delay lines; resource packing comes later. First-second RMS matching keeps the comparison from simply favoring a quieter file. All earlier audio files remain untouched.
Five distinct sounds. Each player plays one note only. C is the unchanged favorite; all three new variants retain its hammer transient.
Reference — real Steinway
C — unchanged dry baseline
D — C + shimmer only
E — C + subtle reverb only
F — C + shimmer and reverb
Play C in FANCOPlay D in FANCOPlay E in FANCOPlay F in FANCO
Shimmer is a restrained phase-modulation approximation on partials 2–8, using seven slow sine modulators (about 0.7–1.6 Hz), faded in over roughly 100 ms. It is not a measured reconstruction of individual strings. Reverb uses four damped, cross-fed native SIREN delay lines with quiet stereo taps; it is not a measured model of the Iowa room. No octave-shifting “shimmer reverb,” no PCM playback, and no chip changes. New previews are level-matched to C; its audio file is untouched. D/F use all sixteen generators and eight output slots for this one note.
Real piano → moving envelopes → moving envelopes + hammer. Notes start at 0:00.25, 0:07.5, and 0:14.75.
B — measured partial-envelope motion
C — same body and tail, with a subtle hammer-transient experiment
Play moving envelopes in FANCOPlay hammer variant in FANCO
Eight sine partials, unchanged tuning and pan, with measured amplitude curves written by the CPU at 240 Hz. This follows beating-like amplitude motion, not individual string phases or room acoustics. The hammer experiment adds brief colored-noise modulation of the fundamental using a ninth generator, without another output slot; the two renders are identical after 35 ms and use the same preview gain. No reverb or PCM playback. These roughly 31 KB, eight-second studies are diagnostic control-table prototypes, not compact reusable instruments. The original hard baseline is preserved below.
In each A/B player: reference first, synthesis at 0:07.5. The gap is intentional.
Rendered from the 307-byte FANCO v6 program. Eight sine generators, individually tuned with separate envelopes; no sample playback. This single note uses all eight output slots. Hammer noise, string beating, and room response are not yet modeled.
A/B — real piano, then SIREN
A — reference
B — SIREN approximation 1
Play soft in FANCOAssembly sourceOriginal soft AIFF
277-byte program, seven audible sine partials. The eighth partial was below the measurement threshold and is muted. Level matching amplifies the quiet reference's recording noise; that noise is not synthesized.
A/B — real piano, then SIREN
A — reference
B — SIREN approximation 1
Play hard in FANCOAssembly sourceOriginal hard AIFF
307-byte program, eight audible sine partials. The original three models are dry: no added hammer noise, string beating, or reverb. These previews and the standalone patches are for timbre comparison, not calibrated velocity loudness. The medium baseline is unchanged.
University of Iowa Electronic Music Studios: Steinway & Sons Model B, performed by Evan Mazunik, recorded by Michael Cash in November 2001. Original format: 16-bit, 44.1 kHz stereo; non-anechoic room.
The Iowa MIS collection, created by Lawrence Fritts, permits downloading and use in projects without restrictions. These listening previews are trimmed, resampled WAV copies with gain adjustment; the original AIFF downloads above are untouched.