How can frequency dispersion in a vibrating string be modelled using an LTI filter?

According to JOS on stiff-string synthesis, stiff strings (like on a piano) introduce inharmonicity (i.e. the harmonics of the tone are not all in tune) due to different frequency components of the wave travelling at different speeds. This inharmonicity is called "dispersion".

According to another page on the same site about modelling this effect, he says it can be done by putting an LTI (linear, time-invariant) filter of some sort at one end of the delay line (in waveguide modelling, a delay line is used to model a physical string) before feeding the output back into the delay line.

Somehow, this LTI filter introduces inharmonicity, or frequency distortion. But by definition, an LTI filter does not introduce any new frequencies into the signal (and thus can be accurately represented by a frequency-response graph).

How can inharmonic tones be introduced by an LTI filter? Am I missing something obvious? Do I not understand my DSP basics well enough?

• "due different frequency components of the wave travelling at different speeds" I thought it was because the string is shorter at higher frequencies because the ends have to bend in a curve instead of at an angle. – endolith Mar 23 '13 at 18:29
• According to most of the literature I've read, it's caused by the stiffness of the string introducing a displacement-dependent restoring force, which causes high-frequency components to travel faster than low-frequency components. See simonhendry.co.uk/wp/wp-content/uploads/2012/08/… which references asadl.org/jasa/resource/1/jasman/v36/i1/p203_s1?isAuthorized=no – bryhoyt Mar 23 '13 at 20:06

From your question, it sounds like you think the all-pass filter is an independent post-processing step that takes as its input the output of the classic Karplus-Strong model (delay line, LP filter, close the loop). If that would be the case, yes, it would be very surprising indeed that new harmonics would appear! But here, the allpass filter is part of the closed loop. You can intuitively think about what it does in these terms: it is a short delay, with a delay value which is frequency-dependent (phase shifter). This gets added to the delay provided by the main $N$ samples delay line, and causes the lower frequencies to "see" a longer loop. So the highest harmonics will have a period close to $N$, and the lower harmonics will have a lower period. The overall transfer function of the loop is no longer a comb with regular spacing between teeth, but a comb with a slowly increasing gap between teeth.