2009-07-31 19 views
3

Ich bin neu in der Audio-Welt, und mir wurde eine Aufgabe zugewiesen, ich bin mir nicht sicher, wie ich damit umgehen soll. Ich muss ein Diagramm anzeigen, das die Tonhöhe einer WAV-Datei darstellt. Die WAV-Datei kann polyphon sein, und dann muss ich das Tonhöhen-Diagramm des dominanten (also mit der stärksten Lautstärke) Instruments (oder menschlichen Gesang) anzeigen. Ich bin ziemlich vertraut mit .NET und weiß fast nichts in C, C++, Java.Display WAV-Datei Tonhöhe

Ich begann eine Recherche im Internet, und von dem, was ich verstand, ist die Tonhöhenerkennung von polyphonen WAV-Dateien ein ungelöstes Problem, aber ich brauche nicht die genaue Tonhöhe, nur um zu wissen, ob es höher ist. und was ist seine Länge.

Meine Fragen sind:

  1. Wo sollte ich für das Erlernen der Theorie hinter dieser Aufgabe beginnen? Gibt es dafür empfohlene Bücher?

  2. Gibt es ein API/Tool, das das kann?

Danke,

ML

Antwort

2

Sie Fourier-Analyse können die konstituierenden Frequenzen der Welle zu extrahieren. Hier ist eine verwandte SO Frage: Fast Fourier Transform in C#

+1

Ich bin besorgt über die polyphone Natur der WAV-Datei. Kann FFT mir helfen, das dominanteste Instrument/die Stimme zu isolieren? –

+0

Nun FFT wird Ihnen die dominante Frequenz in einem Wellenfragment geben - also wenn Sie drei Instrumente haben, die alle C erzeugen (ob als Grundfrequenz oder Obertöne), wird FFT Ihnen nicht sagen, welches Instrument am lautesten ist, aber es wird Ihnen sagen dieses mittlere C ist die lauteste Frequenz in der Probe. –

+0

Ich nehme an, Sie haben einen 'Spektrumanalysator' gesehen - FFT wird Ihnen das geben. –

0

Ich habe an einem etwas verwandten Projekt gearbeitet. Sie sollten schnelle Fourier-Transformationen untersuchen. Ich kann dieses project written in C# empfehlen - es ist als Gitarrenstimmgerät geschrieben, aber es kann leicht für Ihren Zweck geändert werden.

Dies wird jedoch nicht Multi-Pitch tun. Es gibt ein Produkt namens "celemony", das behauptet, diese Fähigkeit mit "Direct Note Access (DNA)" zu haben. Ihre Technologie ist verständlicherweise eine geschlossene Quelle, aber Sie können sie möglicherweise zum richtigen Preis lizenzieren.

1

Ich begann mit Signalverarbeitung mit Digital Signal Processing. Sie können das gedruckte Buch für ca. $ 30 kaufen oder laden Sie das PDF kostenlos herunter. Es ist für Nicht-Wissenschaftler geschrieben und enthält eine große Menge an Informationen, um Sie mit verschiedenen Signalverarbeitungstechniken zum Laufen zu bringen.

FFT (schnelle Fourier-Transformationen) wandelt ein Zeit-Amplituden-Signal in eine Frequenz (Bins) im Vergleich zur Intensität (Energie) um. Sie können von der Frequenz zu einer Notiz über standard charts gehen, die auf vielen Websites gefunden wird.