Frage

Als Follow-up zu meiner vorherigen Frage , wenn ich meine Smartphone-Anwendung will eine bestimmte Musiknote zu erfassen und ich brauche nur zu wissen, ob der eingehende Klang ist, dass musikalische Note oder nicht, mit einem gewissen Unschärfe, der Note zu ermöglichen off-key von x Cent zu sein.

Da gibt es eine überlegene Methode gegenüber anderen für Geschwindigkeit und Genauigkeit? Das heißt, durch das Wissen, dass die Notiz die Sie suchen ist, sagen wir, ein # C3, wie man am besten sagen, ob diese Note vorhanden ist oder nicht? Ich gehe davon aus, dass für eine einzelne Note suchen wäre einfacher, als alle Wellenformen zu trennen, und dann die Ergebnisse für die Grundfrequenz an.

In den Antworten auf meine ursprüngliche Frage, schlug einer der Befragten, dass Autokorrelation gut funktionieren könnte, wenn Sie wissen, dass die Noten innerhalb eines bestimmten Bereichs liegen. Ich frage mich, ob Autokorrelation würde dann noch besser funktionieren, wenn Sie nur auf das Vorhandensein oder Fehlen einer bestimmten Note überprüfen (+/- x Cent).

Diese Methoden sind:

  • Kuss FFT
  • FFTW
  • diskreten Wavelet-Transformation
  • Autokorrelation
  • Nulldurchgangsanalyse
  • Oktav-Abstand Filter
  • DWT

würde Irgendwelche Gedanken geschätzt.

War es hilfreich?

Lösung

Wie Sie es beschreiben, brauchen Sie nur, um zu bestimmen, ob eine bestimmte Tonhöhe vorhanden ist. Eine sehr einfache (schnell) Detektor würde nur das Äquivalent einer Periode der Wellenform aufzuzeichnen, dann einen anderen Zeitraum aufzeichnen und korrelieren sie, wie eine stark vereinfacht (single-lag) Autokorrelation. Wenn es eine hohe Übereinstimmung, wissen Sie, die Wellenform aufgenommen wird, wird in etwa zur gleichen Zeit zu wiederholen, oder ein harmonischen davon.

Zum Beispiel, zu erfassen, 1 kHz, Rekord 1 ms Audio (48 Proben, die bei 48 kHz), dann noch 1 ms aufzeichnen und vergleichen sie (korreliert = multiplizieren alle Proben und sum). Wenn sie (Korrelation über einem gewissen Schwellenwert) in einer Reihe aufstellen, dann hörst du auf 1 kHz, 2 kHz, 3 kHz oder einem anderen mehrere. mehr Perioden tun würden Sie mehr Vertrauen auf dem Spiel.

Eine wahre Autokorrelation würde sagen Ihnen, welche harmonisch, speziell, wenn es das ist wichtig für Sie.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top