Revision as of 18:10, 27 November 2019 by Svezhave (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Modeling the sound of an acoustic guitar using the Karplus-Strong algorithm


We spent some time in lecture modeling speech by analyzing a simplified physical model and deriving the corresponding transfer function. The same thing can be done for other types of sounds, both more complex and less complex than speech. The sound of a plucked string on a guitar is one such sound.

The Karplus-Strong algorithm uses a noise burst as an initial condition, a filter of the designer's choice, and a positive feedback loop to produce a signal that sounds similar to a note being played on a guitar:

  • Initial Condition: The initial input to the algorithm is a signal with length L. This corresponds to the input of energy when a guitar string is plucked. The examples at the bottom of the article show what happens to the output when random white noise, a cycle of a sawtooth wave, and a cycle of a square wave are chosen as the initial condition for the algorithm.
  • The Filter: The filter is another design decision that can be chosen. This corresponds to the atmosphere and friction acting to reduce energy from the string. Depending on the characteristics of the chosen filter, you can model more energy being taken from the lower frequencies on the string, or more energy being taken from the higher frequencies on the string. The examples at the bottom of the article show what happens to the output when 2 different low-pass filters are chosen: a simple averaging filter and a rect filter.
  • The Feedback Loop:

[to be completed later]

$ f_s = \frac{1}{T_s} $

Alumni Liaison

Ph.D. 2007, working on developing cool imaging technologies for digital cameras, camera phones, and video surveillance cameras.

Buyue Zhang