Fireball Audio

SPRING TING™

Dispersive spring reverb · Fireball Audio

Most spring plugins paint the boing on once. This one chirps again on every trip round the tank.

A spring reverb is a coil of wire with a transducer at each end, and the wire is dispersive: high frequencies travel along it faster than low ones. A click goes in and comes back as a falling sweep, the top first and the bottom last. That sweep is the boing. It isn't an effect laid over the reverb. It is the reverb.

Spring Ting builds that wire rather than imitating its sound. A chain of 120 stretched allpass sections, the frequency-dependent delay a torsional wave sees on a real coil, sits inside the feedback loop. So the first return chirps, and every return after it has been through the wire again and chirps further. A spring tank behaves the same way.

Two tanks of unequal length, 41 and 47 ms, run side by side, each with its own wire, its own damping and its own saturation in the loop. Loop gain is solved from the decay time you ask for, so Decay is a real number of seconds and no setting can make it run away.

Around that sit the Fireball controls: a RANDOMIZE button that rolls the tank and the motion but never your mix, a MIX LOCK that holds your blend while you browse, and 145 factory presets in nine categories.

BOING 0 % · A TIGHT SPLASH
BOING 100 % · LOWS 150 MS BEHIND
One hit on the tank, measured at two settings of Boing. Time runs left to right over 300 ms, frequency bottom to top from 80 Hz to 8 kHz. The teal line joins the moment each band came back. In a reverb that line stands upright. In a spring it leans, because the bottom of the sound is still travelling down the wire.

The panel

Eleven controls on walnut and brushed aluminium

The big button, the meter and the glass across the top; the presets beneath them; then the tank, the output and the motion. Every value reads off a lit amber window. Double-click any knob to reset it, shift-drag for fine control; the scroll wheel works too.

The Spring Ting panel: a brushed aluminium face in walnut cheeks, with the
                wordmark, a large amber RANDOMIZE button, a VU meter and an amber display
                across the top, a row of preset category buttons, and knobs grouped as Tank,
                Output with a Mix Lock chip, and Motion.
RANDOMIZERolls new Tank and Motion settings. Mix, Pre-Delay and Width never roll.
VU + displayThe meter follows the output. The glass shows Decay, Pre-Delay, the preset, and lamps for Motion, Drive and Mix Lock.
Presets145 in nine categories. Pick a category, then step with the arrows. EDIT lights when the panel no longer matches the name.
TankThe spring itself: how hard it's hit, how long the chirp is, how long it rings, how bright it comes back.
OutputWhen it starts, how wide it is, how much you hear. MIX LOCK sits beside Mix.
MotionOne modulator on the wire itself, one on the stereo position. The pan follows your project tempo.

What is in the tank

Four decisions that make it a spring rather than a reverb

A reverb scatters a sound into a cloud that arrives all at once and then thins out. A spring does something narrower and stranger: it sends the sound down a wire that different frequencies travel at different speeds, so what comes back is sorted. The signal path, in order: stereo in summed to mono (a tank has one drive transducer), transducer band, Drive, Pre-Delay, two tanks in parallel, DC block, Width, auto-pan, then the blend with your untouched dry signal.

A wire, in 120 sections

Each section is a first-order allpass stretched over two samples, y = x[n−2] − a·x[n] + a·y[n−2]. Its delay is longest at the bottom of the band, so lows arrive last. Boing sets a from 0.55 to 0.955.

17 – 217 ms of low-end lag, first pass

The wire is inside the loop

The cascade sits between the input and the tank delay, and the tank's output goes back through it. Every recirculation is dispersed again, so later repeats are more smeared than early ones.

one chirp per trip, compounding

Decay in seconds

Loop gain is solved each sample from the RT60 you set and the loop's true length, the tank delay plus the wire's own delay. Turning Boing up makes the loop longer, and the gain follows, so the decay time holds.

g = 10^(−3·(L + D) / (sr·T60)), capped at 0.985

Saturation in the loop

A tanh inside the feedback path: loop gain falls as level rises, so a hot input compresses the tail instead of blowing it up. Ahead of the tank a second tanh is the Drive stage, after a 120 Hz – 4.5 kHz transducer band.

bounded at any setting

Roll it, lock it

Two buttons for finding a sound fast

Every Fireball plugin has both. RANDOMIZE finds you somewhere new; MIX LOCK makes sure that neither it nor a preset moves the one setting that decides how loud the reverb is in your mix.

RANDOMIZE

Rolls Drive, Boing, Decay, Tone and all four Motion controls to a new setting. The rolls are curated, not uniform: Decay is drawn from about 0.37 to 6 seconds and Tone from about 600 Hz to 8 kHz, so a press lands somewhere usable. It uses exactly the same draw rules the factory presets were generated from.

Never touches Mix, Pre-Delay or Width. Those decide how the reverb sits in your mix, and a randomizer that moves them is one you stop using.

MIX LOCK

Holds Mix where you set it. Presets load everything else and skip Mix. The lock is saved with your session and shown on the MIX LOCK lamp in the display.

Set Mix to 100 % on a send, lock it, and browse all 145 presets without the dry signal ever coming back.

Every control

What each one does, and what it does to the sound

Each control gets the same two pictures: the tank's own return with that control turned down, and with it turned up, drawn to the same scale so the difference between them is the real difference. Once you have read one you can read all of them by looking only at what changed.

Left to right time Bottom to top frequency, 80 Hz to 8 kHz Amber energy Teal line when each band came back Leaning teal dispersion

Every picture below was produced by running the plugin's own DSP at the two settings named underneath it and measuring what came out. None of them is an illustration.

On the longer views — Decay and all of Motion — the teal line is left off on purpose. Once repeats start stacking up, the loudest moment in a band is a later repeat rather than the first return, and a line drawn through those would be a measurement of the wrong thing.

The Motion controls are all drawn on the same test, because their whole subject is time and a still picture cannot show speed directly: four hits, 600 ms apart, with the decay shortened so each return finishes before the next one starts. On those you are comparing the four returns against each other rather than the left picture against the right one. When they are identical copies, nothing is moving.

Tank

The spring itself: hit, chirp, ring, brightness
Drive2.5
0.5 – 8.0

How hard the spring is hit. Low settings are clean and open. Higher settings compress the return, thicken the middle, and past about 5 add the ragged edge a tank gets when the send is pushed into it. The DRIVE lamp in the display lights from 5 up.

How: tanh(x · Drive) on the transducer signal, ahead of the pre-delay and the tank. It shapes what enters the wire, so the grit is dispersed along with everything else instead of sitting on top.

DRIVE 0.5
DRIVE 8.0
Boing55 %
0 – 100 %

The reason this plugin exists. It sets how much the wire disperses: how far behind the top end the bottom end arrives. At 0 the return is a tight metallic splash. At 100 the lows trail 150 ms behind the highs and every hit becomes a falling dwoing. Watch the teal line lean over in the figure.

How: Sets the allpass coefficient a = 0.55 + 0.405 · Boing. The cascade's delay at the bottom of the band is 240 · (1 + a) / (1 − a) samples: about 17 ms at 0 and about 217 ms at 100 (48 kHz). The manual's renderer is checked against that formula to within 0.02 ms in every band.

BOING 0 %
BOING 100 %
Decay2.00 s
0.2 – 15 s

How long the tank rings, in seconds to fall 60 dB. The knob is curved so the useful short settings get most of the travel; the big numbers are at the very end. The display shows the value on the seven-segment readout.

How: Loop gain g = 10^(−3·(L + D) / (sr · T60)), recomputed every sample for each tank from its own length L (41 or 47 ms) plus the wire's delay D at the current Boing and LFO position, capped at 0.985. That is why Boing and the LFO do not change the decay time.

DECAY 0.4 s
DECAY 8.0 s
Tone2.80 kHz
500 Hz – 12 kHz

Brightness of the tail. Because the filter sits inside the loop, it acts on every pass. Low settings don't just sound dark, they get darker as the tail goes on, the way a real spring loses its top end.

How: A one-pole low-pass at Tone in each tank's feedback path, after the tank delay and before the loop saturation. Each trip round the loop is filtered once more, so the highs decay faster than the lows.

TONE 700 Hz
TONE 10 kHz

Output

When it starts, how wide it is, how much of it you hear
Pre-Delay0 ms
0 – 120 ms

A gap before the spring answers. A few milliseconds pull the reverb off the front of a snare. At 60 ms or more it becomes a slapback with a spring on it. RANDOMIZE never moves it.

How: A plain delay line between the Drive stage and the tank, outside the feedback loop, so it moves the whole return later without spacing the repeats. Below 0.5 ms it is bypassed entirely.

0 MS
110 MS
Width100 %
0 – 200 %

Stereo spread of the reverb only. Your dry signal is never touched. At 0 the reverb is mono, at 100 it is the natural difference between the two tanks, and past 100 that difference is pushed wider. RANDOMIZE never moves it.

How: Mid/side on the wet pair: M + S·Width, M − S·Width. The figures draw the side signal (L − R), which at Width 0 is exactly silent. That's why the left picture is empty.

WIDTH 0 — NO SIDES
WIDTH 200 %
Mix35 %
0 – 100 %

How much reverb against how much dry. On an insert, 20 – 40 % is typical. On a send, turn it to 100 % and lock it. MIX LOCK, the chip beside the knob, keeps it there while you audition presets, and RANDOMIZE never rolls it.

How: out = dry · (1 − Mix) + wet · Mix · 0.5. The dry path is the input, untouched and still in stereo; only the wet goes through the mono transducer, the tanks and the pan. Mix Lock is stored in the session, not as an automatable parameter, so automation can't unlock it.

MIX 15 %
MIX 100 %

Motion

One modulator on the wire, one on the stereo position
LFO Rate0.40 Hz
0.01 – 8 Hz

Speed of the modulator that bends the wire. Slow settings let the chirp drift from note to note; fast ones make it shimmer inside a single tail. It runs freely and is not tied to tempo.

How: A sine phasor at LFO Rate in Hz. Compare the four returns in each picture with each other: at 0.01 Hz they are identical copies, because nothing moves between hits 600 ms apart.

0.01 HZ
1.5 HZ
LFO Depth15 %
0 – 100 %

How far the LFO bends the wire. It changes the chirp, not the pitch. Modulating the dispersion rather than a delay time means the tail breathes and warps without ever going out of tune.

How: Adds ±0.12 · Depth to the allpass coefficient, with the right tank 90° ahead of the left, so the two sides move differently and the image swims. The coefficient is clamped to 0.20 – 0.965.

DEPTH 0 %
DEPTH 100 %
Pan Rate1/4
1/2 · 1/4 · 1/8 · 1/16

Speed of the auto-pan, as a note value of your project tempo. It is locked to the host transport, so the sweep lands the same way on every playback and only moves while the transport is playing.

How: Reads the host's beat position through RNBO's transport phasors. The pictures are rendered at 120 BPM with the transport running: at 1/2 the position drifts slowly across each return, and at 1/16 it flutters several times inside a single return.

1/2 AT 120 BPM
1/16 AT 120 BPM
Pan Amount0 %
0 – 100 %

How far the reverb swings left and right. The dry signal is never panned. At 0 the pan is off. It's the only Motion control that starts at zero, so a fresh instance holds still.

How: Equal-power: position = sin(2·pi·phase) · Amount, then cos/sin gains scaled by 1.414 so the centre is unity. Only the wet pair is panned.

0 %
100 %, 1/4

Presets

144 presets, 16 in each of 9 categories

Plus a neutral Init at the top of the list. Each preset was rendered through the plugin's own engine and chosen from thousands of candidates for how different it measures from its neighbours, so stepping through a category never gives you the same sound twice. The line under each name is generated from its actual settings.

TIGHT

Short, small tanks for drums and percussive parts.

Snare HaloVery short and bright, 1 ms in front, barely chirping.
Closet CoilVery short and dark, 13 ms in front, near-mono.
Rattle BoxShort and warm, 13 ms in front, a long chirp, a warping tail, panning at 1/2, extra wide.
Glass TickVery short and very bright, 13 ms in front, extra wide.
Tin Can KickShort and mid-forward, 2 ms in front, extra wide.
Single TwangVery short and bright, 4 ms in front, a long chirp, panning at 1/4, near-mono.
Hi-Hat SpitVery short and bright, 11 ms in front, panning at 1/2.
Muffled KnockShort and dark, 4 ms in front, a long chirp.
Coil CrackVery short and mid-forward, 8 ms in front, a long chirp, panning at 1/4.
Soft RimVery short and dark, 10 ms in front, a long chirp, a warping tail, near-mono.
Sizzle ClapShort and very bright, 7 ms in front, a long chirp, a warping tail.
Wide SnapVery short and bright, 8 ms in front, a warping tail, panning at 1/8.
Felt MalletVery short and dark, 6 ms in front, a warping tail, near-mono.
Grit PocketVery short and warm, 3 ms in front, panning at 1/8.
Drum BoothShort and dark, straight in, a long chirp.
Bright ShakerShort and very bright, 7 ms in front, near-mono.

SLAP

Pre-delay out past 40 ms: a slapback with a spring on it.

Back WallVery short and warm, 65 ms in front, barely chirping.
Quick ReturnVery short and warm, 45 ms in front, panning at 1/2.
Mono SlapShort and warm, 72 ms in front, panning at 1/2, near-mono.
Wobble SlapVery short and warm, 68 ms in front, a warping tail, panning at 1/2.
Rockabilly HotShort and warm, 73 ms in front, barely chirping, driven hard, extra wide.
Spring EchoVery short and mid-forward, 57 ms in front, a long chirp, a warping tail.
Dusty ReturnMedium-length and warm, 74 ms in front.
Basement SlapVery short and dark, 67 ms in front, driven hard, a warping tail.
Boing BackMedium-length and dark, 70 ms in front, a long chirp, extra wide.
DoublerVery short and mid-forward, 55 ms in front, a warping tail.
Wide BounceShort and mid-forward, 45 ms in front, panning at 1/8, extra wide.
Phone BoothVery short and dark, 57 ms in front, near-mono.
Long SlapShort and mid-forward, 82 ms in front, a long chirp, panning at 1/2.
Bright ReturnVery short and bright, 60 ms in front, a long chirp.
Center SlapVery short and warm, 55 ms in front, a long chirp, a warping tail.
Dark HallwayMedium-length and dark, 62 ms in front, near-mono.

DUB

Long pre-delay, long tail, big boing. The dub throw.

Yard ThrowVery long and dark, 87 ms in front.
Siren TailEnormous and very bright, 110 ms in front, driven hard, near-mono.
Bright ThrowVery long and very bright, 117 ms in front, a warping tail, near-mono.
Heavy RootsEnormous and warm, 105 ms in front, a warping tail, panning at 1/16, near-mono.
Boing CannonLong and very bright, 89 ms in front, a long chirp, a warping tail, panning at 1/2.
Deep VersionEnormous and mid-forward, 92 ms in front, a warping tail, panning at 1/2, near-mono.
Mono DubVery long and mid-forward, 80 ms in front, a long chirp, a warping tail, near-mono.
Rimshot ThrowLong and very bright, 95 ms in front.
Bass BinVery long and dark, 79 ms in front.
Smoke RoomVery long and warm, 81 ms in front, a warping tail, extra wide.
Crash SpringVery long and mid-forward, 91 ms in front, a long chirp, driven hard, a warping tail, panning at 1/2, extra wide.
Skank EchoVery long and very bright, 105 ms in front.
Wide VersionEnormous and mid-forward, 81 ms in front, a long chirp, a warping tail, extra wide.
Late Night ThrowVery long and warm, 118 ms in front, panning at 1/4.
Snare DropLong and bright, 116 ms in front, a long chirp, panning at 1/2.
Sound SystemVery long and very bright, 117 ms in front, a long chirp, extra wide.

LONG

Tails of several seconds for pads, keys and space.

Long TankEnormous and mid-forward, 14 ms in front, panning at 1/4.
Endless CoilEnormous and bright, 15 ms in front, barely chirping.
Deep WellEnormous and dark, 29 ms in front, a warping tail, near-mono.
Cathedral TinVery long and very bright, 43 ms in front, barely chirping, panning at 1/2, extra wide.
Far TunnelEnormous and bright, 69 ms in front, a long chirp, near-mono.
WarehouseEnormous and warm, 48 ms in front, extra wide.
Slow DriftEnormous and warm, 3 ms in front.
Hallway HumEnormous and bright, 13 ms in front, near-mono.
Wide HorizonEnormous and mid-forward, 53 ms in front, barely chirping, panning at 1/16, extra wide.
Smooth OceanEnormous and warm, straight in, barely chirping.
Silver DroneEnormous and very bright, straight in, panning at 1/8, near-mono.
Ice ShelfEnormous and very bright, 30 ms in front, near-mono.
Coal MineEnormous and dark, 17 ms in front, a warping tail, panning at 1/2.
Big SkyEnormous and very bright, 54 ms in front, barely chirping, extra wide.
Glass CorridorVery long and very bright, 3 ms in front, panning at 1/4, near-mono.
Night HarbourEnormous and warm, 42 ms in front, extra wide.

BRIGHT

Tone wide open and the chirp to the front.

Chrome RingLong and very bright, 36 ms in front, near-mono.
Sunlit RoomVery long and very bright, 36 ms in front.
Brass BellVery long and very bright, 4 ms in front, panning at 1/16, extra wide.
Sparkle WashVery long and very bright, 48 ms in front, a warping tail.
Splash CoilMedium-length and very bright, 24 ms in front, a long chirp, a warping tail, extra wide.
Air SpringVery long and very bright, 3 ms in front, extra wide.
Steel PingMedium-length and very bright, 66 ms in front, a long chirp, a warping tail.
Crystal TailVery long and very bright, 25 ms in front, a warping tail.
GlintLong and very bright, 59 ms in front, a warping tail.
Hot ChromeVery long and very bright, 8 ms in front, panning at 1/16, extra wide.
Silver WireVery long and very bright, straight in, a long chirp, a warping tail, near-mono.
Treble EchoVery long and very bright, 53 ms in front, panning at 1/16, near-mono.
Open WindowLong and very bright, 26 ms in front, a warping tail, panning at 1/4, extra wide.
Shimmer CoilLong and very bright, 20 ms in front.
Bright TickVery short and very bright, 41 ms in front, a warping tail.
Chirp HallVery long and very bright, 44 ms in front, a long chirp, panning at 1/8.

DARK

Tone closed down, so the tail gets darker as it goes.

Velvet BoxLong and dark, straight in, panning at 1/2, extra wide.
UndergroundVery long and dark, 68 ms in front, driven hard.
Wool BlanketLong and dark, 68 ms in front, a warping tail, panning at 1/4, near-mono.
Low BoingVery long and dark, 67 ms in front, a long chirp.
Rumble SeatMedium-length and dark, 19 ms in front, a long chirp, extra wide.
Cellar DoorVery long and dark, 13 ms in front, near-mono.
Murky WaterLong and dark, 46 ms in front, barely chirping, a warping tail, near-mono.
SootVery long and dark, 18 ms in front, barely chirping.
Night SpringVery long and dark, 16 ms in front, panning at 1/2.
Distant ThudLong and dark, 58 ms in front, barely chirping.
PillowLong and dark, straight in, a warping tail, near-mono.
Deep PocketVery long and dark, 53 ms in front, near-mono.
Warm WoodMedium-length and dark, 4 ms in front.
Dark MatterVery long and dark, 58 ms in front, driven hard, extra wide.
Midnight WobbleVery long and dark, 18 ms in front.
SubmarineVery long and dark, 34 ms in front, a warping tail, near-mono.

DIRT

Drive high enough to hear. The grit goes through the wire.

Burnt CoilLong and warm, straight in, driven hard, panning at 1/2.
Blown SpeakerMedium-length and bright, 26 ms in front, a long chirp, driven hard, a warping tail, near-mono.
Fuzz TankLong and bright, 24 ms in front, barely chirping, driven hard, near-mono.
Grime EchoVery long and mid-forward, 40 ms in front, barely chirping, driven hard, a warping tail, near-mono.
Rusted SpringLong and warm, 2 ms in front, driven hard, a warping tail.
Overdriven HallVery long and bright, straight in, driven hard, a warping tail, extra wide.
Crunch BoxMedium-length and bright, 16 ms in front, driven hard, panning at 1/8.
Dirty SlapLong and mid-forward, 59 ms in front, driven hard, near-mono.
Broken AmpLong and bright, 38 ms in front, a long chirp, driven hard, a warping tail, panning at 1/4.
Gravel RoadVery long and warm, 27 ms in front, driven hard, panning at 1/2.
Crackle BackShort and bright, 48 ms in front, barely chirping, driven hard.
Wild CoilVery long and bright, 45 ms in front, a long chirp, driven hard, a warping tail, extra wide.
Distorted EchoLong and mid-forward, 43 ms in front, barely chirping, driven hard, panning at 1/2, near-mono.
Hot WireLong and bright, 1 ms in front, barely chirping, driven hard, a warping tail, panning at 1/8.
Smashed TankVery long and bright, 51 ms in front, a long chirp, driven hard.
Hard ClipLong and bright, 2 ms in front, barely chirping, driven hard.

MOTION

LFO and auto-pan doing the work. Play with the transport running.

Chorus CoilLong and very bright, 18 ms in front, barely chirping, a warping tail.
SeasickVery long and very bright, 5 ms in front, barely chirping, a warping tail, panning at 1/8, extra wide.
Warble SlapLong and very bright, 66 ms in front, barely chirping, a warping tail, panning at 1/8, extra wide.
Slow SwayVery long and bright, 22 ms in front, barely chirping, a warping tail.
Wobble BoxLong and bright, 20 ms in front, a warping tail, panning at 1/8, extra wide.
SwirlLong and very bright, 34 ms in front, barely chirping, a warping tail, panning at 1/16, extra wide.
Drunk SpringLong and warm, 69 ms in front, a long chirp, a warping tail.
Ping PanVery long and dark, 24 ms in front, a warping tail, panning at 1/16, extra wide.
UnderwaterLong and dark, 27 ms in front, a warping tail.
Vibrato GritLong and very bright, 16 ms in front, driven hard, a warping tail, panning at 1/2, extra wide.
Flutter EchoMedium-length and very bright, 53 ms in front, a warping tail, extra wide.
TrembleVery long and mid-forward, 13 ms in front, a warping tail, extra wide.
Lava LampLong and dark, 41 ms in front, a long chirp, a warping tail, panning at 1/2.
Shimmer SwayLong and very bright, 14 ms in front, a warping tail, panning at 1/2, extra wide.
Wobble TickShort and mid-forward, 67 ms in front, a long chirp, a warping tail, panning at 1/8, extra wide.
Tide PullVery long and dark, 18 ms in front, a warping tail, panning at 1/4.

SEND

Mix at 100 %, for an aux. Lock the mix, then browse.

Aux TankVery long and warm, 19 ms in front, a warping tail, panning at 1/8, mix at 100 %.
Short SendMedium-length and warm, 40 ms in front, a warping tail, near-mono, mix at 100 %.
Chirp BusVery long and bright, 41 ms in front, a long chirp, a warping tail, mix at 100 %.
Long ReturnEnormous and bright, 13 ms in front, panning at 1/4, mix at 100 %.
Bright SendMedium-length and very bright, 23 ms in front, barely chirping, a warping tail, panning at 1/4, mix at 100 %.
Dirty BusVery long and warm, 49 ms in front, driven hard, extra wide, mix at 100 %.
Dark ThrowbackLong and dark, 35 ms in front, a long chirp, a warping tail, near-mono, mix at 100 %.
Deep BusVery long and dark, 27 ms in front, barely chirping, a warping tail, panning at 1/2, extra wide, mix at 100 %.
Wide Echo SendMedium-length and very bright, 52 ms in front, extra wide, mix at 100 %.
Dub BusVery long and dark, 52 ms in front, a warping tail, mix at 100 %.
Low Slap SendMedium-length and dark, 52 ms in front, barely chirping, extra wide, mix at 100 %.
Vocal TinLong and very bright, 4 ms in front, barely chirping, near-mono, mix at 100 %.
Vocal AirVery long and very bright, 21 ms in front, near-mono, mix at 100 %.
Boing BusLong and dark, 8 ms in front, a long chirp, a warping tail, mix at 100 %.
Stadium SendEnormous and very bright, 43 ms in front, barely chirping, mix at 100 %.
Wide Dark SendLong and dark, 46 ms in front, extra wide, mix at 100 %.

Measured

FormatsAudio Unit · VST3
PlatformmacOS 10.15+, universal
ChannelsMono or stereo in, stereo out
Parameters11, all automatable
Factory presets145 in 9 categories
Allpass sections120 per tank, two tanks
Tank lengths41 ms · 47 ms
Low-end lag17 – 217 ms, first pass
Decay0.2 – 15 s RT60, solved
Copy protectionNone