Sign in

username:

password:



Not a member?

Search Online Books



Search tips

Free Online Books

Sponsor

NEW! TMS320C6474: 3x the performance. 1/3 the cost. Three 1 GHz cores on 1 chip.

Chapters

Chapter Contents:

Search Physical Audio Signal Processing

  

Book Index | Global Index


Would you like to be notified by email when Julius Orion Smith III publishes a new entry into his blog?

  

Tuning the EKS String

At low sampling rates and/or high fundamental frequencies, the string simulation can sound ``out of tune'' because the main delay-line length $ N$ is an integer, which means that the fundamental frequency $ F_0$ is quantized to values of the form $ F_0=f_s/(N+N_f)$ where $ f_s$ is the sampling rate and $ N_f$ is the delay (in samples) of any filters in the feedback loop. For example, in Fig.D.4, $ N_f$ equals the combined delay of filters $ H_d(z)$, $ H_s(z)$, and $ H_\eta(z)$. In Eq.$ \,$(D.7), we had the digitar tuning formula $ F_0 = f_s/(N+1/2)$ because $ N_f=1/2$ is the phase delay of the two-point average $ y(n)=[x(n)+x(n-1)]/2$ used in the KS digitar algorithm.

In this section, we look at designing a tuning filter $ H_\eta(z)$ so as to fine-tune the fundamental frequency as desired (even at low sampling rates). Keep in mind, however, that such a filter is not needed when the sampling rate is sufficiently high compared with the desired fundamental frequency.

For simplicity, here we will use the two-zero damping filter described in §D.2.4, so that its phase delay is always one sample. The tuning formula becomes

$\displaystyle F_0 = \frac{f_s}{N+1+\Delta_\eta(\omega)},$ or $\displaystyle \zbox {\Delta_\eta = \frac{f_s}{F_0} - N - 1,} \protect$ (D.7)

where