Sign in

username:

password:



Not a member?

Search Online Books



Search tips

Free Online Books



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?

  

Pick-Position Comb Filter

A natural model of string excitation is an input signal summed into a virtual physical location along the length of a digital waveguide string model, as described in §4.9. This model can then be factored into a pick-position comb filter in series with a filtered delay loop, as used in the EKS [213,437] and derived in §4.9.1.

The EKS pick-position comb filter has the transfer function

$\displaystyle H_\beta(z) \eqsp 1 - z^{-\lfloor\beta P\rfloor}
$

where $ P$ is the period (total loop delay) in samples, and $ \beta\in(0,1)$ denotes normalized position along the string (0 being at the ``bridge'' and $ 1$ being at the ``nut''). The notation $ \lfloor x\rfloor$ means the ``greatest integer less than or equal to $ x$,'' also called truncation to the next lower integer.D.6 This transfer-function model of pick position is easily derived by simply factoring the transfer-function of the string from the picking point to any other point along the string, such as the bridge point (see §4.9.1) [437].

In Faust, a feedforward comb filter is readily implemented using the delay function defined in music.lib:

  ppdel = beta*P; // pick position as fraction of period
  pickpos = _ <: delay(Pmax,ppdel) : - ;
where Pmax is some power of 2 larger than ppdel (see the definition of delay in music.lib to understand why a power of 2). In Faust, we can bring out a ``continuous'' pick-position control spanning half the string as follows:
  beta = hslider("pick_position", 0.13, 0, 0.5, 0.01); // 0-1/2
The block diagram generated by ``faust -svg -simple-names'' is shown in Fig.D.5. Pick position accuracy is normally not critical, hence the 1% slider steps and lack of