Ich versuche Echtzeit-Tonhöhenerkennung mit C++ zu tun. Ich teste etwas Code von performous (http://performous.org/), 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 seit ein paar Wochen versucht, und ich konnte keinen Tonhöhenerkennungscode bekommen.Echtzeit-Tonhöhenerkennung mit FFT
Antwort
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 liefert. Dann können Sie Obertöne hinzufügen und sehen, ob das funktioniert. Real-World-Daten sind einfach zu variabel für den ersten Test.
Performous Audio-Code hat einige Optimierungen, Frequenzgrenzen und Heuristiken, die es nur für Gesang (und andere ähnliche Töne) geeignet machen. Die optimale Reichweite liegt bei 80-600 Hz.
C/C++/Obj-C Real-time algorithm to ascertain Note (not Pitch) from Vocal Input
Überprüfen Sie die akzeptierte Antwort auf diesen Link.
Ich habe SO für eine Antwort auf dieses Problem durchsucht, und dies ist die nützlichste Ressource, die ich gefunden habe.
Es scheint, dass Performous diesen Algorithmus verwendet, aber es ist schwer vom Performous Code
EDIT zu entziffern: ich endlich eine funktionierende Lösung geschaffen habe. E-Mail mich, wenn interessiert sunfish | gmail | c0m
- 1. 2D FFT mit 1D FFT
- 2. Quaternion FFT mit 1D FFT in C++
- 3. Gaussian Unschärfe mit FFT
- 4. Python NumPy - FFT und Inverse FFT?
- 5. OfflineAudioContext FFT-Analyse mit Chrom
- 6. Matlab Tiefpass Filter mit fft
- 7. Filtern eine Sinuswelle mit FFT
- 8. FFT und IFFT mit FFTW
- 9. fft Verständnis
- 10. C++ FFT Beat-Erkennungsbibliothek?
- 11. FFT: FORTRAN vs. Python
- 12. Ist diese C++ - FFT-Funktion äquivalent zur "fft" -Matlab-Funktion?
- 13. Computational Physics, FFT-Analyse
- 14. Signal von fft rekonstruieren
- 15. FFT eines Bildes
- 16. Schlechte Ergebniszeichnung Fensterung FFT
- 17. MatLab - Verschieben eines Bildes mit FFT
- 18. FFT mit Intel MKL und Intel IPP
- 19. inverse fft mit Matlab funktioniert nicht
- 20. Tiefpassfilter mit FFT anstelle von Faltungsimplementierung
- 21. 2D Dekonvolution mit FFT in Matlab Probleme
- 22. Gleitende FFT in R
- 23. Python: Datenanalyse FFT
- 24. FFT Sound-Analyse
- 25. Tiva C FFT-Bibliothek
- 26. Zersetzung von 2D-FFT (und inverse FFT) mit fftw in FORTRAN77
- 27. OpenCL FFT-Lib für GPUs?
- 28. MATLAB fft y Achse Bedeutung
- 29. Debugging von 128 Punkt FFT
- 30. Berechnen Unsicherheit in FFT Amplitude
"kann nicht zur Arbeit" bedeutet ??? (wird nicht kompiliert? wird nicht ausgeführt? verwandelt Ihren Computer in einen Flammenball?) –
kompiliert, aber gibt Frequenzen von 0 bis etwa 1024 – Niall
und was ist los damit? Middle C ist 440 Hz, so dass dieser Bereich vernünftig erscheint, wenn Sie Ihr Mikrofon abtasten. Welche Frequenzen erwarten Sie? – AShelly