This is really interesting and simple simulation of plucked string. You can read about it on Wikipedia – Karplus-Strong. I've found this explanation when I had it half implemented, it's really good.
Here's the diagram of feedback loop (source):
The delay line is initialised by white noise (length of the line is determined by frequency).
Examples:
The last one sounds good but is not clear because I've done some tweaking. It can sound even better, but I don't know how (yet). I've been trying to implement the extended algorithm but I don't understand the theory enough to know what I'm doing wrong.
Dependencies:
python-tksnack
which depends on libsnack2
(install libsnack2-alsa
or you may be surprised by loud output at midnight)
tkSnack
depends on Tkinter
which is part of Python library so I used it for GUI too.
Download: