Jim Rulla graciously offered to present the second talk of our humble group. Jim is a mathematician, software developer, and consultant. He states that one of his interests is algorithms, and in particular he enjoys exploring algorithms related to generating and analyzing sound. Jim gave an engaging demonstration about the importance of not just having the right model for your problem but also solving it with the best approach.
Jim began the talk making an observation about the importance of accuracy. In particular he said that 3 digits of accuracy had often been considered adequate, but that as applications have become more demanding, this is no longer the case. He gave an example of a company he worked with where 4 digits of accuracy were required to get 10 meter accuracy for their product. Clearly losing a digit of accuracy in that case would produce an order of magnitude worse results.
Using his custom software, Jim demonstrated an analysis of a sound waveform. His example analysis was to determine the pitch of a sound using auto correlation. His software could do this in realtime using either microphone input or a stored waveform. He started off his talk with recordings of plucked guitar strings. To demonstrate the accuracy of the pitch detection, Jim then switched to a synthetic waveform he called a “Karplus-Strong filter”. This particular filter is easy to implement and produces waveforms with predictable pitches. Jim showed a plot of the pitch detection over time, and showed that the pitch varied and was not constant. However, after a few moments, Jim revealed that what he was actually showing were the results of an “engineer’s correlation”. He then switched to an auto correlation algorithm that was more appropriate for the problem at hand. At that point, the pitch detection went from a wavy line that varied over time to a horizontal line that did not vary at all. The synthetic signal actually had a very stable pitch. What looked like variations in pitch turned out to be the result of inaccurate calculation. Jim then gave some advice about how to detect and correct numerical problems.
- If it is bad mathematically, it will be bad numerically. For example, dividing by zero or numbers very close to zero.
- When trying to solve the problem, attempt to rearrange or propose a different approach.
After the talk, Jim had people come up and try the software for themselves by speaking or singing into the microphone. We'd like to thank the Multnomah County Library in Gresham for providing space and equipment for EAST Knowledge to meet. We'd also like to thank the Troutdale Starbucks for the generous donation of a coffee traveler. Last but not least, EAST Knowledge would like to thank Jim for providing our group with a wonderful talk.
We hope to see you next time for stimulating conversation and cookies.
Links to resources:
Jim provided the following references from his talk.- Information about the Karplus-Strong filter:
Title: Digital Synthesis of Plucked-String and Drum Timbres Authors: Kevin Karplus and Alex Strong Source: Computer Music Journal, Vol. 7, No. 2 (Summer, 1983), pp. 43-55 Publisher: The MIT Press Stable URL: http://www.jstor.org/stable/3680062 Copy of paper: http://users.soe.ucsc.edu/~karplus/papers/digitar.pdf -
Wiener's original paper wasn't published until it was essentially obsolete, but it is a classic, with Norman Levinson's appendix:
Title: Extrapolation, Interpolation, and Smoothing of Stationary Time Series: With Engineering Applications Author: Norbert Wiener Publisher: The MIT Press, Cambridge, MA
"Important as is the method of prediction given in this paper, it has strict limitations in practice and should never be used to determine a curve which may be determined in a strictly geometrical manner. Statistical prediction is essentially a method of refining a prediction which would be perfect by itself in an idealized case but which is corrupted by statistical errors, either in the observed quantity itself or in the observation. Geometrical facts must be predicted geometrically and analytical facts analytically, leaving only statistical facts to be predicted statistically."