Ich versuche Echtzeit-Tonhöhenerkennung mit C ++ durchzuführen. Ich teste einige Code von performous ( Ссылка ), weil alles andere für mich nicht funktioniert hat. Ich weiß sicher, dass das funktioniert, aber ich kann es einfach nicht zur Arbeit bringen. Ich habe das jetzt seit ein paar Wochen versucht, und ich konnte keinen Tonhöhenerkennungscode bekommen.
Anstatt die Eingabe vom Mikrofon zu verwenden, sollten Sie Daten einer bekannten einzelnen Frequenz erstellen und diese durch das Programm laufen lassen und sehen, ob es Ihnen das richtige Ergebnis bringt. Dann können Sie Obertöne hinzufügen und sehen, ob das funktioniert. Real-World-Daten sind einfach zu variabel für erste Tests.
C / C ++ / Obj-C Echtzeitalgorithmus zur Ermittlung der Note (nicht Tonhöhe) von der Vocal-Eingabe
Überprüfen Sie die akzeptierte Antwort auf diesen Link.
Ich habe SO nach einer Lösung für dieses Problem durchforstet, und dies ist die nützlichste Ressource, die ich gefunden habe.
Es scheint, dass Performous diesen Algorithmus verwendet, aber es ist schwer, aus dem Performous-Code
zu unterscheidenEDIT: Ich habe endlich eine funktionierende Lösung geschafft. Mailen Sie mir bei Interesse sunfish | gmail | c0m
Tags und Links c++ audio fft signal-processing pitch-tracking