There's still some issues. For example I'm pretty sure something with my distortion calculations is slightly off, because it crackles quite a bit when it changes. But adding or removing harmonics is pretty easy, and setting the harmonic multipliers is too, so you can get quite a variety out of it. Maybe a convolver or something to get it to sound better as well, it sounds very dry and unrealistic without it. If I'm bored I might add all that.
@talon I think Open AL is the gold standard and informed some of the web audio api IIRC