| commit | ed1c9f90396ca2f30a511f50f86b08f7796aab5a | [log] [tgz] |
|---|---|---|
| author | Tamas Hubai <mpw@htamas.net> | Fri Dec 31 17:41:18 2021 +0100 |
| committer | Tamas Hubai <mpw@htamas.net> | Fri Dec 31 17:41:18 2021 +0100 |
| tree | 536eab4f577b67e28427f333afd1ee7f9381f052 | |
| parent | 288a7495639a3ee12ddcee6909f11b296d368871 [diff] |
Add sources & build
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.