Live data from Hacker News

PartialString – A finite-difference time-domain physical modelling synthesiser

differentinstruments.com

11–13 of 13 posts

Re: PartialString – A finite-difference time-domain physical modelling synthesiser

#11
post #3

Does it take nonlinearity of strings into account? In the demo I can't really hear it and to me it ends up sounding like the comb filter synths you get without it.

I’m super curious what that would sound like. Could you elaborate on the non linearity part?

Physical strings have some stiffness and it causes overtones to not have perfect integer ratios of frequency. It's one of many things to consider that makes it sound a bit more natural.

Re: PartialString – A finite-difference time-domain physical modelling synthesiser

#12
post #3

Does it take nonlinearity of strings into account? In the demo I can't really hear it and to me it ends up sounding like the comb filter synths you get without it.

Dev here! No, this version is an ideal string - no stiffness. Just meant to provide a fun and different way to think about sound design, rather than realistic string sounds (so the physical modelling branding is a bit of a misnomer). But it sounds pretty good I think! You can get some inharmonicity via numerical dispersion by reducing the accuracy (but in the wrong direction). I have a few other devices in the pipeline, at least one of which should include stiffness.

Re: PartialString – A finite-difference time-domain physical modelling synthesiser

#13
post #6
post #5

The simplest form of string synthesis is perhaps the Karplus-Strong algorithm ( https://en.wikipedia.org/wiki/Karplus%E2%80%93Strong_string_... ). Instead of simulating the motion of all parts of the string for each timestep, it simplifies it to a perfect transmission of motion, except at the end of the string where some function will be applied that captures the losses from the motion, typically by performing a simp…

So doing it on a big GPU would be pretty helpful. I wonder if anyone has used CUDA for this, or if any hardware synths have GPUs.

I actually tried doing it as a Vulkan compute shader, continuously simulating 128 strings (all possible MIDI notes). It didn't work very well. While the latency was tolerable, it was slower than doing the same on the CPU (although this was with an integrated GPU, not a dedicated card).
Post reply on HN