I’m enjoying all the physical modeling discussion happening recently, but I’m personally more interested in general software implementations than standalone hardware units, so here is a thread! (Based on @alanza’s suggestion in the hardware thread)
Over the holiday break I tried porting Julius O Smith’s
pluck.c to cython for inclusion in my python computer music system.
This is an “elementary” implementation of digital waveguide synthesis (the same basic algorithm used in the VL1, so I have read) which he has written about in depth here;
https://ccrma.stanford.edu/~jos/swgt/ (Added scare quotes because it doesn’t feel very elementary to me right now.)
Here’s the original C version from 1992: https://ccrma.stanford.edu/~jos/pmudw/pluck.c
And my cython port: https://github.com/luvsound/pippi/blob/master/pippi/pluck.pyx
Plus a usage example: https://gist.github.com/hecanjog/1970f78a51779d18fac239a540c0b2e9
Which generates this:
I do not grok the algorithm! Re-writing it was a good first step for me though… anyway it sounds neat!
I wonder how similar this implementation is to the version used for David Jaffe’s Silicon Valley Breakdown?
Anyway, lets discuss software implementations of physical modeling synthesis!