Well, I found that rectifying the signal before aubio pitch detection
improves the result.
This is because the time resolution is divided by 2 and due to
uncertainity the frequency resolution is doubled. Furthermore the input
is lowpassed at 6khz to reduce the effect plektrum and nail picking,
which generate high frequencies.
I assume that some better (freq-dependent) rectifying procedure could
split the harmonic structure of the strings further apart in
freq-domain, that is making the time/freq-resolution frequency dependent:
low frequencies<->high freq resolution
high frequencies<-> low freq res.
this could be achieved, i believe with wavelets.
Thats the first step.
Following step: Now imagine the frequencies as being samples in
frequency domain:
The samplingrate is a function the frequency, and get this function from
the wavelets in the first step.
With the Constant-Q-Transformation, one could map this function to a
constant function, and thus the frequency domain to a domain in which
all harmonic combs have equal distances between their partials, but
different locations.
It should be easy then to locate the combes, then do the inverse
Constant-Q to get the fundamentals.
..but its probably b*** sh** ;)
Gerald
On 25.04.2015 05:13, Tim E. Real wrote:
For FFT to distinguish among notes it needs a certain
amount of
samples in a block. More samples per block for lower notes.
On guitar it was just sorta kinda usable, but fun.