Matlab

Páginas: 3 (625 palabras) Publicado: 18 de mayo de 2012
En esta presentacion se trata de desarrollar un codigo para MatLab con el cual se puede procesar un archivo .wav(waveform audio format). 

close all; %cierra todas la ventanas abiertas antesde iniciar el programa 
clear; %borra cualquier variable activa en MATLAB 
S=input('Ingrese el nombre de la cancion:'); 
disp('¿Ejecutar el Programa?'); 
F=input('y/n:','s'); 
[yfs]=wavread(S); %y vector donde se carga el sonido; fs frecuencia de muestreo 
k=0; 
while(1) 
fprintf('La frecuencia de muestreo es: %d\n',fs); 
tam=size(y); %tamaño del vector sonido 
n=tam(1); %totalde muestras de sonido 
fl=round(n/2); %Mitad de muestras redondeada 
k=k+1; %Contador de figuras 
figure(k); 
subplot(2,1,1); %Grafica de Sonido en el tiempo. plot(y,'r');axis([1000,5000,-1,1]);xlabel('Tiempo');ylabel('Amplitud');title('Señal en el tiempo'); %Detalles grafica 
espectro=abs(fftshift(fft(y))); 
[menor pri]=sort(espectro); %Ordena el espectro de menor a mayor 
if2*fl==n %Detector de Frecuencias medias de sonido 
fd1=-fl; 
fd2=fl-1; 
else 2*fl>n 
fd1=1-fl; 
fd2=fl-1; 
end 
subplot(2,1,2); %Grafica de espectro de señal plot(fd1:1:fd2,espectro);axis([0,5000,0,menor(n)]);xlabel('Frecuencia');ylabel('Amplitud');title('Señal en Frecuencia'); %Detalles grafica 
sound(y,fs); 
disp('¿Desea escuchar reverberacion?') 
rev=input('y/n:','s'); 
if rev=='y' %Efecto reverberacion 
a=0.5; %Magnitud de la reverberacion 
R=5000; %Numero de muestras para el efecto 
x=zeros(size(y)); 
for i=1:1:R+1 
x(i) = y(i); %vector de efecto 
end for i=R+1:1:n 
x(i)= y(i)+ a*y(i-R); %sonido mas efecto 
end; 
sound(x,fs); 
end 
disp('¿Desea escuchar la señal filtrada?') 
flt=input('y/n: ','s'); 
if flt=='y' %Efecto Filtros %--------------------------------------------------------------- 
%Filtro Pasa bajos 
Wn = .20; %Frecuencia de Corte. 0<wn
 N = 30; %Grado del filtro 
LP = fir1(N,Wn); %filtro pasa bajos ...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • matlab
  • Matlab
  • Matlab
  • matlab
  • MATLAB
  • MATLAB
  • Matlab
  • Matlab

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS