Different Instruments presents...

PartialString

A finite-difference time-domain physical modelling synthesiser.

AU · VST3 — macOS · Windows · Linux

+u −u x
Fig. 1 — Displacement u(x, t) of a plucked string.  plectrum,  pickup. Click the string to pluck it somewhere else.

Featured in

Synth Anatomy · Bedroom Producers Blog · Synthtopia · Audio Plugins for Free · AudioArtist · Dixon Beats · Time To House · Audiofanzine · Mack Beats Studio


News

PartialString v1.2.1 released— 9th August 2026

  • Microtuning support: Connects to MTS-ESP devices, so PartialString can play in any scale or temperament. (With bug affecting repeated notes fixed since v1.2.0)
  • New tuning control: Option to keep PartialString in-tune (but still inharmonic) at low accuracies.
  • Mod wheel support: Your keyboard's mod wheel is now routed to control the pickup LFO amount.
  • Update checks: PartialString will now (optionally) automatically check for updates if online.

Method

1Model

PartialString simulates the vibration of a plucked string by numerically solving the one-dimensional wave equation in real time using the finite-difference time-domain (FDTD) method. The string is represented as a list of displacements in memory. A lower note requires a longer string, which needs more points to represent it. You can then excite the string at any point along its length, and the FDTD scheme will compute how that change in displacement propagates. A pickup measures the displacement at a chosen location, and this generates the audio output. 10-voice polyphony is supported (up to 10 simultaneous strings), but this is dynamically adjusted based on your computer's capability and the lengths of the string being simulated (see Section 3. Performance).

The PartialString interface: a paper-styled panel with a string-state plot, decay, pickup LFO and model accuracy controls, and a piano keyboard.
Fig. 2 — The PartialString interface.

2Controls

You can set the position and shape of the excitation, both velocity-sensitive. An LFO can sweep the pickup position, up to audio rate for AM-like sidebands. Your keyboard's mod wheel is routed to control the LFO amount (adding to the amount set with the GUI control). The string's decay time is adjustable, with or without dampers applied. The dampers can behave like a piano's, closing when a note ends. Combined with a long undamped decay, this makes pad-like sounds. Reducing the simulation accuracy generates unrealistic, soft, inharmonic and (optionally) atonal sounds. Accuracy can be set constant for all notes, or proportional to string length (which can help prevent CPU overload on less-capable machines).

Fig. 3 — Thirty second demo of PartialString. Also on YouTube.

3Microtuning

PartialString is an MTS-ESP client. It will receive tuning data from a running MTS-ESP master such as ODDSOUND MTS-ESP Mini, including multi-channel mappings and scales with 12 or fewer notes. If no MTS-ESP master is present, PartialString will remain tuned to equal temperament.

4Performance

Simultaneously simulating many low notes (long strings) accurately is quite computationally intensive. On less capable computers, PartialString will automatically limit the number of sounding voices to prevent CPU overload, and this is indicated on the UI. You may notice that the synth behaves monophonically in low registers.

There is an option to prevent too-low notes (those estimated to cause overload on your machine even when played monophonically) from sounding, or to automatically pitch them up an octave or two to maintain performance. This option only takes effect when the synth is being used in real-time (i.e. not when your DAW is bouncing or freezing tracks).

On Apple Silicon Macs (M-series), running an Intel-based DAW forces the plugin to run through the Rosetta 2 translation layer, which can significantly reduce CPU performance. For the best results, ensure you install and run an Apple Silicon native (or 'Universal') version of your DAW.

5Checking for updates

PartialString will attempt to check for a newer version each time it opens, or once every 24 hours: whichever period is longer. You can disable automatic checks, or force an update check, by right clicking on the "PartialString" header at the top of the plugin.

6Installation and troubleshooting

PartialString doesn't have an installer. You will receive a .zip containing the required files. You will need to manually move them to the audio plugin directory on your computer, following the instructions for your platform in README.txt. If you are updating from an earlier version of PartialString and the device does not appear in your DAW, you may need to rescan or "hard" rescan your plugins - see README.txt and your DAW's manual for more information.


Download

PartialString v1.2.1 — free, or pay what you want.

macOS AU · VST3 macOS 10.13+ (Intel), 11+ (Apple Silicon) Download
Windows VST3 Windows 10 or later, 64-bit Download
Linux VST3 Ubuntu 22.04+ / Debian 12+ (glibc 2.35+), x86-64 Download

Looking for an older version?

VST is a registered trademark of Steinberg Media Technologies GmbH. Audio Units is a technology of Apple Inc.


About

Different Instruments is a solo side-project I've been (very occasionally) working on since releasing gostringsynth in 2022. Back in 2009, I finished my MSc at the University of Edinburgh, supervised by Stefan Bilbao, during which I investigated finite-difference models for musical applications. This is an attempt to revive that work now that personal computers have suitable computational ability. By day, I work as a biomedical engineer, developing technologies for ultrasonics, optics and photoacoustics.

- Christian Baker, July 2026.