Different Instruments presents...
PartialString
A finite-difference time-domain physical modelling synthesiser.
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).
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. 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 and inharmonic sounds. Accuracy can be set constant for all notes, or proportional to string length (which can help prevent CPU overload on less-capable machines).
3Performance
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.
Download
PartialString v1.0.3 — free, or pay what you want.
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.