PartialString – 一款时域有限差分物理建模合成器
PartialString – A finite-difference time-domain physical modelling synthesiser

原始链接: https://differentinstruments.com/

**PartialString** 是一款软件合成器,通过有限差分时域(FDTD)方法对一维波动方程进行数值求解,从而实时模拟拨弦物理特性。它将琴弦表示为一系列位移,允许用户操控激励点、拾音器位置和阻尼特性,以创造出多样且具有物理真实感的音色。 该引擎支持最高 10 复音,并能根据硬件性能动态管理运行表现。由于模拟长、低频琴弦的计算量较大,该插件包含了智能 CPU 负载平衡功能,例如限制复音数或移动八度,以确保在性能较低的机器上保持稳定。用户可以调整模拟精度,以获得真实的音色或刻意营造的非谐波、“柔和”质感。 该项目由 Christian Baker 开发,旨在重拾对有限差分音乐建模的研究,将开发者在物理学领域的学术背景与现代数字信号处理技术相结合。为了获得最佳性能,特别是在 Apple Silicon 硬件上,建议用户运行 DAW 的原生版本,以避免转换层带来的额外开销。

Hacker News 最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 PartialString – 一款时域有限差分物理建模合成器 (differentinstruments.com) 7 点,由 shmeano 发布于 2 小时前 | 隐藏 | 过往 | 收藏 | 讨论 帮助 考虑申请 YC 2026 年秋季批次!申请截止日期为 7 月 27 日。 准则 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

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. 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).

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

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.

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.

联系我们 contact @ memedata.com