Frequenzerkennung aus einer Audiodatei

8

Was ich versuche zu erreichen, ist folgendes: Ich brauche die Häufigkeitswerte einer Sounddatei (.wav) zur Analyse. Ich weiß, dass viele Programme ein visuelles Diagramm (Spektrogramm) der Werte ergeben, aber ich brauche Rohdaten. Ich weiß, dass dies mit FFT gemacht werden kann und ziemlich einfach in Python skriptfähig sein sollte, aber nicht sicher, wie es genau zu tun ist. Angenommen, ein Signal in einer Datei ist .4s lang, dann hätte ich gern mehrere Messungen, die für jeden Zeitpunkt, den das Programm misst, und welchen Wert (Frequenz) es gefunden hat (und möglicherweise auch Leistung (dB)) als Array ausgegeben werden. Das Komplizierte ist, dass ich Vogelstimmen analysieren möchte, und sie haben oft Harmonische oder das Signal ist über einen Frequenzbereich (z. B. 1000-2000 Hz). Ich möchte, dass das Programm diese Informationen ebenfalls ausgibt, da dies für die Analyse wichtig ist, die ich mit den Daten machen möchte:)

Jetzt gibt es ein Stück Code, das sehr ähnlich aussah, wie ich es wollte, aber ich denke, es gibt mir nicht alle Werte, die ich will .... (Danke an Justin Peel für das Posten auf einer anderen Frage :)) Also ich nehme an, dass ich numpy und pyaudio brauche, aber leider bin ich mit python nicht vertraut, also hoffe ich, dass ein Python-Experte mir dabei helfen kann?

Quellcode:

%Vor%     
Mieke Zwart 13.12.2010, 17:15
quelle

2 Antworten

8

Ich bin mir nicht sicher, ob dies das ist, was Sie wollen, wenn Sie nur die FFT wollen:

%Vor%

Wenn Sie die Magnitude-Antwort möchten:

%Vor%     
Steve Tjoa 13.12.2010 17:34
quelle
5

Ich denke, was Sie tun müssen, ist eine Kurzzeit-Fourier-Transformation (STFT). Grundsätzlich machen Sie mehrere teilweise überlappende FFTs und fügen sie für jeden Zeitpunkt zusammen. Dann würden Sie den Höhepunkt für jeden Zeitpunkt finden. Ich habe das selbst nicht gemacht, aber ich habe es in der Vergangenheit schon mal angeschaut und das ist definitiv der Weg nach vorne.

Es gibt etwas Python-Code, um eine STFT hier und hier .

    
Justin Peel 13.12.2010 18:43
quelle

Tags und Links