Frage

Zur Zeit arbeite ich an meinem vierten Jahr Projekt (Informatik), die die automatische Transkription von Musik beinhaltet -> Noten. Ich bin es in Matlab zur Zeit zu tun, sondern wird zu einem bestimmten Zeitpunkt zu Java umgewandelt werden müssen.

Mein Problem:           Ich habe mein Programm die richtigen Noten für reine Sinustöne Rückkehr, habe ich jetzt ein Problem festgestellt haben, wenn es um das Abrufen der Grundfrequenz aus einer Notiz von einem natürlichen Instrument gespielt kommt. Bei bestimmten Noten, die Spitze der grundlegenden der Note darstellt scheint völlig zu fehlen. Zum Beispiel, wenn ich eine G3 Notiz von Garageband zu spielen, wird es als G4 gezeigt, da nur die 1., 3., 5. und 7. Harmonischen in meiner Handlung erscheinen. Ich habe versucht, das Bild hinzufügen, aber da dies mein erster Beitrag ist es würde mir nicht erlauben. Alle Hinweise in die richtige Richtung wäre sehr geschätzt werden.

War es hilfreich?

Lösung

Das ist nicht ungewöhnlich. Es ist sehr üblich, dass die grundlegende zu fehlen, oder fast so, für männliche Stimmen, große Streichinstrumente und viele andere schrillen Klangquellen.

Das macht ein FFT-Spitzenergebnis allein extrem schlecht bei der Bestimmung Noten von den tatsächlichen Musikinstrumenten, wie zum Sinusfunktionsgenerator gegenüber. Das ist, weil Steigung von spektraler Spitzenfrequenz unterscheidet. Pitch ist ein psycho-akustische Wahrnehmungsphänomene. Also das ist, was Sie auf lesen, benötigen. Es gibt Unmengen von Forschungsarbeiten zu diesem Thema.

So können Sie bei einem völlig anderen Satz von Algorithmen zu suchen. Versuchen Cepstren (Cepstral-Analyse), harmonische Produktspektren, Autokorrelation und ähnliche (AMDF, ASDF usw. Lags), RAPT (Robust-Algorithmus für Pitch Tracking), YAAPT, etc.

ADDED: Ich schrieb ein detaillierteres

Andere Tipps

Es ist nicht ungewöhnlich für die Grundfrequenz eines Musikinstruments Note zu den Harmonischen relativ gedämpft werden (auch als Untertöne bekannt), und in einigen Fällen die Grundfrequenz Größe unter der Größe des Tons gut sein kann.

Werfen Sie einen Blick auf diese Frequenz / Stärke Grundstück eines echten Fagott (kein synthetisierte Fagott) spielen eine G3 Note. Beachten Sie die abgeschwächte fundamentalen (196,39 Hz) gegenüber der ersten Harmonischen. Aber auch beobachten, dass alle ganzzahligen mehrere Harmonische Harmonische bis 10. sichtbar sind. Tatsächlich sind viele mehr Harmonischen vorhanden, aber sie sind nicht sichtbar auf diesem linearen Größe Grundstück.

BassoonG3frequencyMagnitude

In Ihrem Fall die zusätzliche Tatsache, dass Ihre G3 Musiknote das Spektrum nur die erste zeigt, 3., 5. und 7. Harmonischen legt nahe, dass etwas nicht stimmt. Ihr Testton erscheint synthetisiert werden, so dass das Problem mit der Art und Weise könnte der Ton synthetisiert wurde.

Die Spektren der realen Musikinstrumente zeigen typischerweise die Grundfrequenz und viele ganzzahlige Multiple Harmonischen, wie 1, 2, 3 und so weiter, wie oben zu sehen. Und die Harmonischen der Regel erstrecken sich weit über 6KHz für die meisten Hinweise auf den meisten Instrumenten gespielt.

Werfen Sie einen Blick auf diese Frequenz / decibel_magnitude Plot eines echten Fagott (kein synthetisierte Fagott) spielen eine G3 Note. Beachten Sie, dass insgesamt 37 ganzzahliges Vielfach Harmonischen vorhanden sind, bis sie an dem Störpegel in der Nähe von -104 dB verschwinden.

BassoonG3frequencyDecibelMagnitude

Sie können auf diese Fagott Probe hören und zu sehen sein Spektrum hier: Bassoon Musikinstrument Spektrum

Lesen Sie auch diese detaillierte Post auf analytische Ansätze zur autonomen musikalischen Transkription

Haben Sie versucht, es durch ein Spektrogramm (Funktion Spektrogramm in MATLAB) laufen zu erkennen, was geschieht?

Ich weiß nicht, was Algorithmen Sie verwenden, ohne diese Informationen können wir nicht sagen, was falsch läuft. Was ich beunruhigt ist, dass Ihre zweite dritte Harmonischen (zweite Spitze in der Handlung) ist viel größer als Ihre zweite Harmonische (erste Spitze in der Handlung).

Sind Sie sicher, dass Sie alle haben das Sampling rechts: das heißt Ihre DFT nur Frequenzen bis zur Hälfte der Abtastfrequenz nach oben (positiver und negativem Frequenzbereich)? Auch: Wie haben Sie einen transienten Teil des Signals zu unterdrücken?

Die Tatsache, dass Sie Peaks bei 2f, 4f, 6f sehen und 8f impliziert stark, dass entweder Ihre Eingangsdaten ist eigentlich eine Oktave über das, was Sie denken, es ist, oder dass Sie falsch interpretiert die Frequenzskala der Ergebnisse. Wenn Sie wurden nur die Grundfrequenz fehlt, dann würden Sie sehen, 3f, 5f und 7f auch.

Vorschläge:

  • Plot Ihre Eingangsdaten, bevor Sie FT es. Sie sollten die Frequenz des dominanten Begriff Augapfel können.
  • Hören Sie die Notiz von Garageband produziert. Ist es über oder unter dem mittleren C?
  • Überprüfen Sie, dass Sie verstehen, wo die Werte auf der Frequenzskala auf dem Grundstück kam.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top