Le Fri, 12 Nov 2010 00:54:58 -0500,
"Tim E. Real" a écrit :
> On November 11, 2010 11:06:10 pm Dominique Michel wrote:
I don't know. If you take a guitar synthesizer, it have a polyphonic
mic, that is one mic per cord (similar to a simple humbucking per note).
They certainly make 6 monophonic note extractions.
Guitar mics take in account only the vertical movements of the cords,
the output signal is the derivative of this movement.
Also, the harmonic content of a guitar note is not constant. During the
attack, the value of the fundamental is the most important signal in
the note, but during the sustain, the value of the fundamental decrease
very fast and the second harmonic become the highest tone in the note.
It is even more complicated when the cord touch the frets because you
will get false maximums of the signal. You can also get hum with a
simple humbucking, and you will get saturation with a double humbucking.
I am not sure, but the FFT is a particular case of the bipolar Laplace
transformation, so I don't think than the necessary time to get enough
samples in order to get a reliable result would be better. The worst
case scenario depend on the lowest note you will able take in account.
If it is what I call "filtre en peigne" in French (comb filter), it can
be an alternative. It is DSP algorythms for them, but I don't know if it
is something for a PC processor.
The fastest algorithm would be to find the maximums of the signal.
The time between 2 consecutive maximums = the period of the note.
The delay would not be constant, but it would not exceed 1+1/2 periods
of the note in the worst case. In practice, it would be something
between 1 and 1+1/4 periods of the note in most (all?) cases.
This will be very easy with an instrument like a flute, but much more
difficult with an instrument like a guitar, because you will have to
take in account the false maximums possibility (when you play very
hard on the cords or when you have a not so good guitar) and the
sustain of the note.
"We have the heroes we deserve."
Linux-audio-dev mailing list