Erstens entschuldige ich mich, weil ich ein Softwareentwickler bin und es sehr lange her ist, dass ich mich nicht mit reiner Mathematik befasst habe, daher scheint meine Frage dumm zu sein. Ich hoffe nicht.
Der Kontext ist die Tonhöhenerkennung in der Musik.
Wenn Sie eine Musiknote nehmen und eine Fourier-Transformation darauf anwenden, haben Sie eine unendliche Summe von Amplituden für bestimmte Frequenzen. Zum Beispiel, wenn ich eine Note spielen , dessen Grund ist , auf jedem Instrument, nach dem Fourier - Transformation, werde I Harmonischen bei zumin hat F , 2 F , 3 - F , ... , n F . Jede Frequenz hat eine bestimmte Amplitude, die das Timbre des Instruments definiert (Klavier, Stimme, Trompete, ... alle folgen diesem Gesetz, aber Sie haben unterschiedliche Amplituden für jede Harmonische).
Nun möchte ich anhand eines bestimmten Audiosignals finden . Nur das. Es ist komplizierter als es scheint, weil Sie immer Hintergrundgeräusche haben und so weiter ... Außerdem ist F nicht unbedingt die Frequenz mit der höchsten Amplitude!
Meine Idee, besteht darin, eine DFT (eigentlich eine FFT für die Geschwindigkeit) anzuwenden und eine Frequenz F zu finden , so dass F + 2 F + 3 F + … + n F in der FFT-Ausgabe maximal ist.
Glaubst du, dass das überhaupt möglich ist? Denken Sie, dass dies in sehr kurzer Zeit möglich ist (sagen wir <5 Millisekunden)?
Antworten:
Was Sie beschreiben, ist der Harmonic Product Spectrum-Methode zur Tonhöhenschätzung, wie sie in diesem Stanford CCRMA-Artikel aufgeführt ist, sehr ähnlich .
Eine FFT gibt Ihnen keine "unendliche Summe von Amplituden", sondern eine endliche Anzahl von Ergebnisfächern, abhängig von der Länge der FFT.
5 mS ist nur eine Periode einer 200-Hz-Note und nur ein Bruchteil einer Periode unter 200 Hz. Die musikalische Tonhöhenerkennung erfordert normalerweise das Hören oder Analysieren mehrerer Perioden der Periodizität eines Tonhöhenklangs. Und viel Musik verwendet Noten unter G2. Wenn Sie über eine ausreichende Datenlänge verfügen, dauert die Berechnung einer Tonhöhenschätzung aus diesen Daten auf einem modernen PC oder Mobilgerät möglicherweise nur in der Größenordnung von Mikrosekunden und nicht in Millisekunden.
quelle