PartialString — a free physically modelled string synthesiser | Different Instruments
Different Instruments presents...
PartialString
A finite-difference time-domain physical modelling synthesiser.
AU · VST3 — macOS · Windows · Linux
Download<br>Method
+u<br>−u
Fig. 1 — Displacement u(x, t) of a plucked string.<br>▾ plectrum, ● pickup.<br>Click the string to pluck it somewhere else.
Method
1Model
PartialString simulates the vibration of a plucked string by numerically solving the<br>one-dimensional wave equation in real time using the finite-difference time-domain (FDTD) method.<br>The string is represented as a list of displacements in memory. A lower note requires a longer string,<br>which needs more points to represent it. You can then excite the string at any point along its length,<br>and the FDTD scheme will compute how that change in displacement propagates. A pickup measures the<br>displacement at a chosen location, and this generates the audio output.<br>10-voice polyphony is supported (up to 10 simultaneous strings), but this is dynamically adjusted<br>based on your computer's capability and the lengths of the string being simulated (see Section 3. Performance).
Fig. 2 — The PartialString interface.
2Controls
You can set the position and shape of the excitation, both velocity-sensitive. An LFO can sweep<br>the pickup position, up to audio rate for AM-like sidebands. The string's decay time is adjustable,<br>with or without dampers applied. The dampers can behave like a piano's, closing when a note ends.<br>Combined with a long undamped decay, this makes pad-like sounds. Reducing the simulation accuracy<br>generates unrealistic, soft and inharmonic sounds. Accuracy can be set constant for all notes, or<br>proportional to string length (which can help prevent CPU overload on less-capable machines).
Your browser can’t play embedded video —<br>download the clip instead.
Fig. 3 — Thirty second demo of PartialString.<br>Also on YouTube.
3Performance
Simultaneously simulating many low notes (long strings) accurately is quite computationally intensive.<br>On less capable computers, PartialString will automatically limit the number of sounding voices to prevent CPU overload,<br>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<br>monophonically) from sounding, or to automatically pitch them up an octave or two to maintain performance. This<br>option only takes effect when the synth is being used in real-time (i.e. not when your DAW is bouncing or freezing<br>tracks).
On Apple Silicon Macs (M-series), running an Intel-based DAW forces the plugin to run through the Rosetta 2<br>translation layer, which can significantly reduce CPU performance. For the best results, ensure you install<br>and run an Apple Silicon native (or 'Universal') version of your DAW.
Download
PartialString v1.0.3 — free, or pay what you want.
macOS<br>AU · VST3<br>macOS 10.13+, Intel & Apple Silicon<br>Download
Windows<br>VST3<br>Windows 10 or later, 64-bit<br>Download
Linux<br>VST3<br>x86-64<br>Download
VST is a registered trademark of Steinberg Media Technologies GmbH.<br>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<br>gostringsynth in 2022. Back in 2009, I finished my MSc at the University of Edinburgh,<br>supervised by Stefan Bilbao, during which I investigated finite-difference models for musical applications.<br>This is an attempt to revive that work now that personal computers have suitable computational ability.<br>By day, I work as a biomedical engineer, developing technologies for ultrasonics, optics and photoacoustics.
- Christian Baker, July 2026.