MATLAB: Leyendo un audio y calculando su FFT

Download PDF

Una de los aspectos básicos para desarrollar un análisis de audio con ayuda de algún software computacional, consiste en cargar un archivo de audio y poder realizar algún proceso de análisis básico, como lo es el calculo de la Transformada de Fourier, para obtener una visualización del comportamiento de la señal en el dominio de la frecuencia ademas de su visualización en el dominio del tiempo. Por razones de eficiencia computacional, para el calculo de la Transformada de Fourier, se utiliza su versión FFT (Fast Fourier Transform). La Transformada de Fourier que nos entrega un vector con componentes complejas con información de magnitud y fase, con una longitud igual a la señal original, pero de la cual solo consideramos la mitad izquierda. Sobre temas de FFT existe bastante información en la web, a continuación un par de sitios web donde es posible encontrar material puestos a disposicion por sus propios autores donde se explica ampliamente estos y otros topicos relacionados con Teoría de Análisis de Señales

http://www.dspguide.com/pdfbook.htm
http://www.dsprelated.com/freebooks.php

A continuación se muestra una manera de cargar un audio para realizar un analisis FFT en MATLAB

clear; %limpiar variables
clc; %limpiar pantalla
[data fs]=wavread('01_piano.wav'); %leyendo el archivo y su frecuencia de sampleo

%%%%%%%%%%%%% GRAFICANDO %%%%%%%%%%%%%

subplot(2,1,1) % se utiliza el comando subplot para hacer graficos con mas de un sector
plot(data); % graficanado la señal en el dominio de los samples de tiempo

subplot(2,1,2)
a=abs(fft(data)); % calculamos la FFT
plot(a(1:end/2)); % graficando la mitad de la señal en el dominio de los samples de la frecuencia

 

piano_espectro

The following two tabs change content below.

LEONARDO PARADA VALENCIA

INGENIERO ACÚSTICO EXPERTO EN DISEÑO SONORO Y MÚSICA PARA VIDEOJUEGOS