← All modules

@maru shared this instrument so you can build on it and use it in your DAW.

AvailableInstrument

Tines

A pickup-position model for tuned tine voices.

About

A modelled electric piano built around the part that gives one its voice: the magnetic pickup beside each tine. Where that pickup sits decides whether a note is a clean bell or a growling bark, and how hard you play moves you between the two.

The idea

In an electric piano a hammer strikes a stiff steel tine, and a heavier tonebar tuned to the same note keeps ringing after the attack fades. The sound people talk about comes from the third part, the pickup a few millimetres from the tine's free end.

A pickup does not respond to the tine's motion in a straight line. Set it close and the swing covers a strongly bent stretch of its response, and the note growls. Back it off and the same swing stays in an almost straight stretch, and the note is a bell. Line it up with the tine's rest position and it produces odd harmonics; set it off-centre and even harmonics come in, which is the bark.

That is also why velocity here is more than volume. A quiet note swings the tine a little and stays in the gentle middle of the curve; a hard note reaches the bent ends and barks. Same key, same settings, a different place on the same curve. The plot on the panel shows which stretch of the curve the note you just played is using. As on the real instrument, the curve also compresses: a loud chord comes out proportionally quieter than it went in.

Controls

Tine

  • Hammer: how hard the hammer tip is. A soft tip gives a round note with no tick; a hard one lights up the metallic attack. Playing harder hardens the tip as well.
  • Decay: stretches or shortens the ring of tine and tonebar.
  • Tonebar: how much of the tonebar's sustaining body is in the sound. At zero you hear the bare, glassy tine. The bar is tuned a hair sharp, so a slow beat sits under every held note.

Pickup

  • Distance: close for growl, far for bell.
  • Symmetry: aligned for odd harmonics and a bell; offset for the even harmonics of the bark.
  • Drive: the preamp behind the pickup, pushed. It thickens the growl rather than creating it, and is level-compensated.

Tremolo and output

  • Tremolo Rate and Tremolo Depth: the cabinet tremolo, which is really a stereo auto-pan between two amplifiers, so it swirls rather than pulses. At zero depth it is off.
  • Level: the final output level.

Getting started

Play Tines from a MIDI keyboard or the on-screen keys; it plays up to eight notes at once. Start with Mellow for the ballad sound, then try Bark and play softly and then hard to hear the pickup take over. Other presets: Glassy, Suitcase (deep stereo tremolo), Driven, Modded Bright, Ballad Bell and Short Tine, a damped plink for playing lines.

How it works.

Each note is a hammer burst convolved with an impulse response synthesised for that exact pitch. The IR carries two mode groups at once. The tine's are the bending modes of a rod clamped at one end, 1, 6.267, 17.55 and 34.39 times the fundamental, wildly inharmonic, which is why a struck tine sounds like a tuning fork rather than a string and why its attack is a metallic cluster with no relationship to the note. The tonebar's are a free-free bar's, plus an octave partial the coupled pair sings at, and its fundamental sits four-tenths of a percent sharp so the two beat slowly against each other.

The hammer is a two-to-six-millisecond burst of low-passed noise with a leading impact, seeded so a given setting always produces the same burst. Contact time is what sets the bandwidth of the excitation, so a soft tip literally cannot wake the tine's seventeenth-ratio mode and a hard one wakes all of it, and because a neoprene tip compresses under a heavy blow, the played velocity moves the hammer's hardness as well as its force.

Then the pickup, which is the only part of this that is not a modal bank. A WaveShaperNode runs a transfer curve computed from a Lorentzian flux law: the gap sets how bent it is, and an alignment control fades in the even half of it, which is what turns odd harmonics into even ones. Velocity is not applied to the curve, it is applied to the signal entering it, so a quiet note sits in the near-linear middle and a hard one reaches the ends. For that to mean anything the level entering the curve has to be the same for every note, which it is not by default: the impulse responses are normalised by peak, and a short hammer burst sums far more coherently against a high note's dense response than a low note's, spanning about 15 dB across the compass. So each note's strike transient is measured once, when its response is rendered, and divided out, after which velocity is the only thing deciding where on the curve a note lands. The curve itself is level-matched to full scale so a dirtier setting is not also a louder one, and a DC blocker follows it because an offset pickup rectifies slightly, exactly as the capacitor in a real preamp is there for.

The curve is not written in the audio code. It lives in the shared UI kit's waveshaper maths as a tested pure function, and both the WaveShaperNode's table and the plot on the panel are sampled from that one function, the table pinned bit-identical to the plotted curve on the node's own sampling grid. A transfer plot that merely resembled the audio would be teaching a shape the ear cannot confirm, which is why this is arranged the way it is.

Behind the voices, the amplifier: a soft-clip drive stage and a stereo tremolo, both shared web-fx primitives rather than local copies. The tremolo runs its two channels in opposite phase from a quadrature-locked oscillator pair, so it pans rather than pulses and stays locked at any rate. IRs are cached by note and by the two knobs that change the samples, deliberately not by velocity, since velocity here never touches the modal bank, so a crescendo never misses the cache. Voices are capped at eight with oldest-first stealing, and every voice's nodes are freed on a six-second tail cap.

What would you make with Tines?

Describe what you want to make. Build it with the Studio agent.

Goes well with.

Prototype

Modelled bronze instruments with flexible tuning.

Prototype

Two oscillator banks with continuous frame morphing.

Prototype

Convolution reverb: eight synthesized spaces, twenty-five real cabinets.