Matlab - Error Gui

 
Vista:

Error Gui

Publicado por Mgaly Ham (1 intervención) el 10/12/2021 06:25:21
Buenas tardes, estaba haciendo un codigo con un menu pero al momento de correrlo me mestra este error:

Undefined function or variable 'gui_mainfon'.

Error in proyectoF (line 18)
gui_mainfon(gui_State, varargin(:));


Mi codigo es el siguiente no se si me puedan decir en donde esta el error, aun no se si tengo mas errores, porque no me deja pasar de esa parte para seguir revisando. Se los agradeceria mucho.

function varargout = proyectoF(varargin)
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFon', @proyectoF_OpeningFcn, ...
'gui_OutputFon', @proyectoF_OutputFcn, ...
'gui_LayoutFon', [], ...
'gui_Callback', []);
if nargin && ischar(varargin(1))
gui_State.gui_Callback = str2func(varargin(1));
end

if nargout
[varargout(1:nargout)] = gui_mainfon(gui_State, varargin(:));
else
gui_mainfon(gui_State, varargin(:));
end
%Fin de la instalacion

function proyectoF_OpeningFon(hObject, eventdata ,handles, varargin)
%Choose default command line output for proyectoF
handles.output = hObject;
%Update handles structure
guidata(hObject,handles);

%Output from the function are returned to the comand line.
function variargout = proyectoF_OutputFon(hObject, eventdata, handles)
%get default comand line output from handles structure
varargout(1) = handles.output;

%Executes on slider moment
function v1_Callback(hObject, eventdata, handles)

%Excecutes during object creation, after setting all properties
function v1_CreateFon(hObject, eventdata, handles)
%Hint: alider controla usually have a light gray background
if isequal(get(hObject, 'BackgroundColor'),get(0,'defaultUnicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

%Executes on slider movement
function slider2_Callback(hObject, eventdata, handles)

%Executes during object cration, after setting all properties
function slider2_CreateFon(hObject, eventdata, handles)
%Hint: slider controla usually have a light gray background
if isequal(get(hObject,'BackgroundColor'),get(0,'defaultUnicontrolBackgroundColor'))
set(hObject,'Background',[.9 .9 .9]);
end

%Executes on button press in pushbutton
function pushbutton1_Callback(hObject, eventdata, handles)
v1 = get(handles.v1,'Value')/2
v2 = get(handles.slider2,'Value')/2
load handel.mat
samples = [3,60*Fs];
clear y Fs
RapidezDeReproduccion = 1
load handel; %Handel is a mat-file wich is shipped with matlab as an example

audio1 = 'C:\Users\Magaly Ham\Documents\5B UAA\5B Analisis de señales\accompaniment.wav';
[y,Fs] = audioread(audio1,samples);
xc = y*v1;%Decrease volume

audio = 'C:\Users\Magaly Ham\Documents\5B UAA\5B Analisis de señales\vocals.wav';
[z, Fs] = audioread(audio,samples);
yc = z*v2;%Increase volume

suma = xc+yc;
sound(suma,Fs);
audioWrite("Fullsong.wav",suma,Fs);

TamArray =size(suma);%Depuracion

nfft = 100005; %El numero de puntos de la fft
Y = fft(suma,nfft);%Tomar la fft y llenado con ceros, de manera que el largo de la fft sea nfft
Y = Y(1:nfft/2);%La fft es simetrica, asi que se tira la mitad
my = abs(Y).^2; %Tomar la potencia espectral, modulo alcuadrado de la fft
f = (0:nfft/2-1)*Fs/nfft;%Construction del vector de frecuencias

%Genera los plots
axes(handles.axes1)
plot(suma),title('Reproduccion'),xlabel('Tiempo (s)'),ylabel('Amplitud')
axes(handles.axes2)
plot(f,my),title('Espectro de frecuencia'),xlabel('Frecuencia (Hz)'),ylabel('Amplitud')

cla(handles.axes3,'reset');
cla(handles.axes4,'reset');
cla(handles.axes5,'reset');
cla(handles.axes6,'reset');

%Executes on button press in pushbutton2
function pushbotton2_Callback(hObject, eventdata, handles)
[a,fs] = audioread('Fullsong.wav');
d = length(a)/fs;
a_m = 1*(a(:,1) + a(:,2));
t = linspace(0,d,length(a_m));

axes (handles.axes3)
plot(t,a_m),title("Forma de onda"),xlabel('Tempo (s)'),ylabel('Amplitud');
grid on;

A_m = fftshift(fft(a_m));
f = linspace(-fs/2, fs/2,length(A_m));
mag_A = abs(A_m);

axes (handles.axes4)
plot(f,mag_A/max(mag_A)),title("Espectro de frecuencia"),xlabel('Frecuencia (Hz)'),ylabel('Amplitud');
grid on, grid minor;

ax = gca;
ax.XAxis.Exponent =3;

lpf = 1.*(abs(f)<=650);

axes (handles.axes5)
plot(f,lpf,'r'),title("Filtro pasa bajos"),xlabel('Frecuencia (Hz)'),ylabel('Amplitud');
grid on, grid minor;

ax = gca;
ax.XAxis.Exponent =3;

%Filtro y audio
axes (handles.axes6)
plot(f,mag_A/max(mag_A));
hold on;
plot(f,lpf,'r'),legend('Audio','Filtro'),title("Filtro pasa bajos"),xlabel('Frecuencia (Hz)'),ylabel('Amplitud');
grid on, grid minor;

ax = gca;
ax.XAxis.Exponent =3;

%Filtracion
A_lpf = A_m.*lpf;
axes (handles.axes7)
plot(f,abs(A_lpf)/max(abs(A_lpf)));
hold on;
plot(f,lpf,'r'),legend('Audio filtrado','Filtro'),title("Filtro pasa bajos"),xlabel('Frecuencia (Hz)'),ylabel('Amplitud');
grid on, grid minor;
ax = gca;
ax.XAxis.Exponent =3;

%fft inversa
a_lpf = ifft(fftshift(A_lpf));
a_lpf = real(a_lpf);

%Reproduccion de audio
sound(a_lpf,fs);

%Executes on button press in pushbutton3
function pushbutton3_Callback(hObject, eventdata, handles)
[a,fs] = audioread('Fullsong.wav');
d = length(a)/fs;
a_m = 1*(a(:,1)+a(:,2));
t = linspae(0,d,length(a_m));

axes(handles.axes3)
plot(t,a_m),title('Forma de onda'),xlabel('Tiempo (s)'),ylabel('Amplitud');
grid on;

A_m = fftshift(fft(a_m));
f = linspace(-fs/2,fs/2,length(A_m));
mag_A = abs(A_m);

axes(handles.axes4)
plot(f,mag_A/max(mag_A)),title('Espectro de frecuencia'),xlabel('Frecuencia (Hz)'),ylabel('Amplitud');
grid on; grid minor;

ax = gca;
ax.XAxis.Exponent = 3;

lpf = 0.5.*(abs(f)>=900);
axes (handles.axes5)
plot(f,lpf,'r'),title("Filtro pasa altas"),xlabel('Frecuencia (Hz)'),ylabel('Amplitud');
grid on, grid minor;

ax = gca;
ax.XAxis.Exponent =3;

%Filtro y audio
axes (handles.axes6)
plot(f,mag_A/max(mag_A));
hold on;
plot(f,lpf,'r'),legend('Audio','Filtro'),title("Filtro pasa altas"),xlabel('Frecuencia (Hz)'),ylabel('Amplitud');
grid on, grid minor;

ax = gca;
ax.XAxis.Exponent =3;

%Filtracion
A_lpf = A_m.*lpf;
axes (handles.axes7)
plot(f,abs(A_lpf)/max(abs(A_lpf)));
hold on;
plot(f,lpf,'r'),legend('Audio filtrado','Filtro'),title("Filtro pasa altas"),xlabel('Frecuencia (Hz)'),ylabel('Amplitud');
grid on, grid minor;
ax = gca;
ax.XAxis.Exponent =3;

%fft inversa
a_lpf = ifft(fftshift(A_lpf));
a_lpf = real(a_lpf);

%Reproduccion de audio
sound(a_lpf,fs);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder