%% prog040 lectura de archivos de audio y delay simple clearvars; close all; clc; %lectura desde la misma carpeta [x1,fs1] = audioread('violin.wav'); %% generar el archivo de tiempo Nt = length(x1); %determinamos la longitud de arreglo que contiene el sonido t1 = (0:Nt-1)/fs1; %tiempo con prelocalizacion %ejes tmin = t1(1); tmax = t1(Nt); amin = -1; amax = 1; %grafico figure(1) plot(t1,x1); title('violin'); xlabel('tiempo t (s)'); ylabel('presion sonora p(t) (Pa)'); legend('p(t)'); axis([tmin, tmax, amin, amax]); grid on; box on; %sonido sound(x1,fs1); %% delay %datos de entrada Tdelay = input('tiempo de delay Tdelay = '); Gdelay = input('ganacia de delay Gdelay = '); %conversion del tiempo de delay a numero de muestras a retrasar Ndelay = round(Tdelay*fs1); %redondeando garantizamos que Ndelay sea entero natural %prelocalizamos la salida x2 = zeros(Nt,1); x2 = x1; %delay for n = (Ndelay+1):Nt x2(n) = x2(n) + Gdelay*x1(n-Ndelay); end; %normalizamos para no saturar eso quiere decir que dividimos el arreglo por el maximo x2 = x2/max(abs(x2)); %grafico figure(2) plot(t1,x2); title('violin delay simle'); xlabel('tiempo t (s)'); ylabel('presion sonora p(t) (Pa)'); legend('p(t)'); axis([tmin, tmax, amin, amax]); grid on; box on; %sonido sound(x2,fs1);