Realización de una transformada rápida de Fourier (FFT) en un archivo de sonido

Análisis de los datos toma muchas formas. A veces, es necesario buscar patrones en los datos de una manera que no podría haber considerado inicialmente. Una forma común para llevar a cabo tal análisis es utilizar una Transformada Rápida de Fourier (FFT) para convertir el sonido desde el dominio de la frecuencia al dominio del tiempo. Hacer esto le permite trazar el sonido de una manera nueva.

Por ejemplo, piense en un mecánico que toma una muestra de sonido de un motor y luego se basa en una máquina para analizar esa muestra, en busca de posibles problemas de motor. El diagnóstico puede encontrar algunos problemas y la inspección visual puede encontrar a otros, pero a veces el sonido de un motor revela problemas que usted no puede encontrar en ninguna otra manera.

Aquí está el código que se utiliza para realizar una FFT:

matplotlib.pyplot importación como pltfrom scipy.io wavfile importación como wavfrom scipy.fftpack fftimport importación numpy como nprate, data = wav.read ('bells.wav') fft_out = fft (datos)% matplotlib inlineplt.plot (datos, np. abs (fft_out)) plt.show ()

En este caso, se empieza por leer en el archivo de sonido y extraer el datos de eso. los tarifa información no es importante, ya que no es necesario saber qué tan rápido para reproducir los datos, sólo hay que saber qué valores contiene el sonido. Los valores de sonido consisten en frecuencia (el tono del sonido) y amplitud (qué tan fuerte para jugar).

El siguiente paso es realizar la FFT llamando fft () con datos. Este análisis particular es una simplificación de un proceso mucho más amplio. El punto es que la salida muestra las frecuencias más fuertes detectados a través del tiempo.

imagen0.jpg


» » » » Realización de una transformada rápida de Fourier (FFT) en un archivo de sonido