This question already has an answer here:

I try to develop a guitar game in android platform.

And I need to do the real-time pitch detection of guitar chord.

I will get the input from the microphone, and then analyze the input (the input playing which kind of guitar string/chord).

I find two kinds of method that I can use, one is YIN, another one is FFT.

Which method can get better performance and exact result?


marked as duplicate by Matt L., Marcus Müller, hotpaw2, MBaz, Peter K. Jan 15 '17 at 22:02

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • $\begingroup$ chords are, how shall we say?, a female-canine. dunno how melodyne does it. $\endgroup$ – robert bristow-johnson Jan 15 '17 at 6:19
  • 1
    $\begingroup$ What exactly do you mean by "pitch detection of guitar chord"? Pitch detection is the detection of a single pitch, the other task would be "chord identification". The latter is immensely difficult and you would also need to define what it exactly is that you want to identify: "just" the type of chord (e.g., an E chord), or the exact inversion, i.e., where and on which strings was that E chord played. $\endgroup$ – Matt L. Jan 15 '17 at 9:06
  • $\begingroup$ I will get the input from the microphone, and then analyze the input (the input playing which kind of guitar string/chord), How can I do it? @Matt L. $\endgroup$ – paul9508 Jan 15 '17 at 14:26
  • $\begingroup$ "String" or "chord", that is the question! $\endgroup$ – Matt L. Jan 15 '17 at 16:42
  • $\begingroup$ That mean chord estimation is nearly imposible to do it? @Matt L. $\endgroup$ – paul9508 Jan 15 '17 at 18:23

Your question is ambiguous. Chord, pitch and frequency detection/estimation are very different things. Bare FFT magnitudes are really bad at guitar pitch modeling. YIN is a better monophonic pitch estimator. Polyphonic chord estimation is vastly more difficult, and may or may not even be possible, depending on your input data or time/pitch accuracy requirements (exactly what is your "exact result"?) plus any computational limitations ("real time" latency requirements, CPU performance/cores/GPUs available, etc.)

  • $\begingroup$ If I try to do polyphonic chord estimation, what kind of method/algorithm can possible to do it? @hotpaw2 $\endgroup$ – paul9508 Jan 15 '17 at 18:05
  • $\begingroup$ See: cs.tut.fi/~klap/iiro and other research papers published over at the en.wikipedia.org/wiki/… conference. $\endgroup$ – hotpaw2 Jan 15 '17 at 18:17
  • $\begingroup$ I will go to read the paper, Thank you for your answer. $\endgroup$ – paul9508 Jan 15 '17 at 18:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.