Ausarbeiten:
Angenommen, ich spiele ein G auf meiner Gitarre und meine Soundkarte hat eine Eingabe gemacht. Wie kann ich meinen Computer erkennen lassen, dass es G ist? (Keine Einschränkungen in der Programmiersprache, obwohl Python oder C bevorzugen) (Links zu Artikeln oder bestimmten Ideen würden helfen. Keine Code-Schnipsel)
Weder der Goertzel-Filter noch eine FFT sind gute Tonhöhenschätzer. Die FFT ist ein Frequenzschätzer, und die spektrale Spitzenfrequenz unterscheidet sich von der psychoakustischen Tonhöhe (aufgrund von Wahrnehmungs-Kuriositäten und der Physik tatsächlicher Musikinstrumente, wie fehlende oder schwache Grundlagen).
Suche im Stackoverflow nach Algorithmen für die musikalische Tonhöhenschätzung. Es gibt eine Menge.
Verwenden Sie die schnelle Fourier-Transformation. Hier ist ein Code: Ссылка
Wenn Sie nur nach wenigen Frequenzen suchen möchten, ist der Goertzel-Algorithmus möglicherweise einfacher zu implementieren. (Und zur Laufzeit schneller)
Tags und Links audio signal-processing