I think this just reinforces what everyone is saying about the errors. Either you make it into a crazy competition to vote by banging your note the loudest and the mostest, or you accept a margin of error. As Jamie says the intensity and frequencies are all going to vary and interact.
attached patch intented to investigate that, it makes little clusters of 10 votes (idealised sinewave "xylophone") separated in time by a value between 0 and 100ms at one of 3 frequencies chosen at random. What you wont get in reality is the notes being exactly the same frequency, there should be a fair degree of variance. When I used a focused noise source to approximate the xylophones inharmonic spectrum I couldn't see any correlation above chance. YMMV, especially if you tweak the windows/blocks .
I got better initial results with the filter bank approach I think.
On Wed, 28 Mar 2007 09:16:23 -0500 "Charles Henry" czhenry@gmail.com wrote:
filtering in general may not be the best approach because some of your partials from one xylophone note will overlap with other note's partials. They are inharmonic complex tones, which are not so easy to predict.... you'll probably have to measure the frequencies of each note of your xylophone to know exactly what the spectrum is like.
In terms of averaging like Jamie suggested... suppose you want to compute the expectation of the power spectral density. You would take the fft of the auto-covariance of your recieved signal, divided by the number of blocks in your time frame. (dividing by a number of blocks will not in general be necessary, when all you need to do is find a peak, with pique~ as before) This will give you a very clear/accurate peak, without much jitter/noise to clean up.
Chuck
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list