Mache einen Fast-Fourier-Performing (FFT) auf einer Audio-Datei

Die Datenanalyse nimmt viele Formen an. Manchmal müssen Sie für Muster in Daten in einer Art und Weise zu suchen, die Sie vielleicht nicht von Anfang an in Betracht gezogen haben. Ein üblicher Weg, eine solche Analyse durchzuführen, ist eine schnelle Fourier verwenden Transformation (FFT), um den Ton aus dem Frequenzbereich in den Zeitbereich umzuwandeln. Dadurch können Sie den Sound in einer neuen Art und Weise darzustellen.

Denken Sie zum Beispiel über einen Mechaniker, der ein Klangbeispiel eines Motors nimmt und stützt sich dann auf einer Maschine, die Probe zu analysieren, für mögliche Motorprobleme suchen. Die Diagnose kann einige Probleme und visuelle Inspektion finden andere finden kann, aber manchmal das Geräusch eines Motors zeigt Probleme, die Sie nicht auf andere Art und Weise zu finden.

Hier ist der Code, den Sie eine FFT auszuführen verwenden:

Import matplotlib.pyplot als pltfrom scipy.io Import wavfile als wavfrom scipy.fftpack Import fftimport numpy als nprate, data = wav.read ( 'bells.wav') fft_out = fft (Daten)% matplotlib inlineplt.plot (Daten, np. abs (fft_out)) plt.show ()

In diesem Fall beginnen Sie in der Audio-Datei zu lesen und Extrahieren der Daten davon. Das Preis Informationen ist nicht wichtig, weil Sie nicht wissen müssen, wie schnell die Daten zu spielen, geben Sie einfach wissen müssen, welche Werte der Ton enthält. Die Schallwerte bestehen aus Frequenz (der Ton der Ton) und Amplitude (wie laut es zu spielen).

Der nächste Schritt ist es, die FFT durchzuführen durch Aufruf fft () mit Daten. Diese besondere Analyse ist eine Vereinfachung eines viel größeren Prozess. Der Punkt ist, dass der Ausgang die stärksten detektierten Frequenzen über die Zeit anzeigt.

bild0.jpg

Menü