Physically modeled guitar strings using the Karplus-Strong algorithm with some extensions by Jaffe & Smith.
The string model is built from primitive digital filters like white noise, delay, fader, lowpass & allpass connected by patch cables that form a feedback loop. The patch configuration is described in ks_string.v
. Individual filters are implemented in ks_noise.v
, ks_delay_*.v
, ks_fader.v
, ks_feedback.v
, ks_tuning.v
and ks_dynamics.v
. You may wish to follow the original articles for more details:
Strings can be set up, tuned, plucked or muted via the wishbone bus. This is an alternative build with two strings and sympathetic resonances between them.
Being a fully digital design audio is output via the I2S protocol, so you'll need a DAC chip ("soundcard") such as CS4344, UDA1334A or MAX98357A to get analog output.
If you are collaborating on this project, please click here to access your collaboration files, and click "Accept Share" in the actions column if you haven't done so already.