clear; clc; clf; tabla = carga_tabla_notas_musicales ("notas_musicales_01.txt"); [n,m]=size(tabla); %fprintf("Nota Frecuencia\n\n"); for x=1:n nota = cell2mat(tabla(x,1)); frec = cell2mat(tabla(x,2)); %fprintf("%3s %6.2f\n",nota,frec); endfor musica = carga_musica("melodia.txt"); [n1,m1]=size(musica) %fprintf("\n\nNota tiempo\n\n"); Frecuencias = zeros(n1,1); Tiempos = zeros(n1,1); senales = []; Fs = 8000; suma_tiempos = 0; suma_muestras = 0; for x=1:n1 nota = cell2mat(musica(x,1)); compara = strcmp(tabla,nota); indice = find(compara == 1,1,"first"); Frecuencias(x) = cell2mat(tabla(indice,2)); tiempo = cell2mat(musica(x,2)); if tiempo == 'N' Tiempos(x)=0.48; elseif tiempo == 'B' Tiempos(x) = 0.96; else Tiempos(x) = 0; end muestras = floor(Tiempos(x)*Fs); t = linspace(0,Tiempos(x),muestras); suma_tiempos = suma_tiempos + Tiempos(x); suma_muestras = suma_muestras + muestras; w = 2*pi*Frecuencias(x); xt = 0.5*sin(w*t); senales = [senales xt]; %fprintf("%3s %s\n",nota,tiempo); endfor tiempo_total = linspace(0,suma_tiempos,suma_muestras); plot(tiempo_total,senales); grid on; xlabel("tiempo (segundos)","fontsize",20); ylabel("Amplitud", "fontsize",20); title("CIELITO LINDO","fontsize",20); drawnow; sound(senales,Fs);