%% prog 037 sonidos clearvars; close all; clc; %% definimos variables principales A = 0.5; %amplitud; f = 1000; %frecuencia fs = 44100; %frecuencia de muestreo Tini = 0; %tiempo incial Tfin = 1; %tiempo final %tiempo con prelocalizacion t = Tini : 1/fs : Tfin; Nt = length(t); %length determina la longitud o tamaño de los elementos del arreglo %% onda senoidal %lo primero antes de proceder es que los arreglos de audio deben tener valores que %esten siempre entre -1 y 1 caso contrario se produce recorte y distorsión innecesaria x1 = A*sin(2*pi*f*t); %onda senoidal sound(x1,fs); %sonido se debe especificar la frecuencia de muestreo %grafico figure(1) plot(t,x1); title('onda senoidal'); xlabel('t (s)'); ylabel('p(t) (Pa)'); legend('p(t)'); axis([Tini, Tfin, -1.1*A, 1.1*A]); grid on; box on; %% onda cuadrada x2 = zeros(1,Nt); %prelocalizamos llenando con ceros for n = 1:Nt if x1(n) >= 0 x2(n) = A; else x2(n) = -A; end; end; sound(x2,fs); %sonido se debe especificar la frecuencia de muestreo %grafico figure(2) plot(t,x2); title('onda cuadrada'); xlabel('t (s)'); ylabel('p(t) (Pa)'); legend('p(t)'); axis([Tini, Tfin, -1.1*A, 1.1*A]); grid on; box on; %% sonidos usando armonicos parte 1 x3 = A*sin(2*pi*f*t) + (A/2)*sin(2*pi*2*f*t) + (A/3)*sin(2*pi*3*f*t); sound(x3,fs); %sonido se debe especificar la frecuencia de muestreo %grafico figure(3) plot(t,x3); title('onda armonicos'); xlabel('t (s)'); ylabel('p(t) (Pa)'); legend('p(t)'); axis([Tini, Tfin, -1.1, 1.1]); grid on; box on; %sonidos usando armonicos parte 2 con ciclo for x4 = zeros(1,Nt); %prelocalizamos llenando con ceros N = 100; for n = 1:N x4 = x4 + (A/n)*sin(2*pi*n*f*t); end; sound(x3,fs); %sonido se debe especificar la frecuencia de muestreo %grafico figure(4) plot(t,x4); title('onda armonicos parte 2'); xlabel('t (s)'); ylabel('p(t) (Pa)'); legend('p(t)'); axis([Tini, Tfin, -1.1, 1.1]); grid on; box on; %cuando trabajamos sonidos usando armonicos