Trying to maintain the momentum established by the previous meeting, EAST Knowledge held its second meeting
. Although we won't do the speakers justice, we will once again attempt to relay the talk in a blog post.
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.
The group also briefly discussed some of the non-technical issues within organizations that prevent them from getting the best solution to their problem. Some issues identified were pressure to deliver results more quickly than reasonable and relying too much on prior experience when in fact a fresh approach may be required. Pat (who you may remember from the previous meeeting) introduced the group to the term "ad hack" solutions.
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.
Jim provided the following references from his talk.
- Information about the Karplus-Strong filter:
Wiener's original paper wasn't published until it was essentially obsolete, but it is a classic, with Norman Levinson's appendix:
Here is the important quote:
|Title:||Extrapolation, Interpolation, and Smoothing of Stationary Time Series: With Engineering Applications|
|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."