commit | ca4e047e2c9f1967b07ed3017f87ffedcec6875b | [log] [tgz] |
---|---|---|
author | Tamas Hubai <mpw@htamas.net> | Sun Jan 02 17:20:12 2022 +0100 |
committer | Tamas Hubai <mpw@htamas.net> | Sun Jan 02 17:20:12 2022 +0100 |
tree | a5b7b2350c9bb3c58edae079be2d95a7711dcc5f | |
parent | f2a991c69a19a49d1527bd7a8c9b2ebcaab73851 [diff] |
Rebuild with DECAP_PERCENT=70
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. The default build contains a single string, but it can be reconfigured for multiple strings with sympathetic resonsances by editing defines.v
.
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.