Matlab - Grafica de señal de audio en gui

 
Vista:
sin imagen de perfil

Grafica de señal de audio en gui

Publicado por Israel (28 intervenciones) el 02/11/2015 03:37:14
Hola, otra vez necesito su ayuda, como soy nuevo en este lenguaje, voy recién entendiendo poco a poco como trabaja esto, esta vez necesito obtener la grafica de una señal de audio grabada en el dominio del tiempo y la frecuencia, tengo el siguiente código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function varargout = pruebagui(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @pruebagui_OpeningFcn, ...
                   'gui_OutputFcn',  @pruebagui_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
end
function pruebagui_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
end
 
function varargout = pruebagui_OutputFcn(hObject, eventdata, handles)
end
function tiempo_Callback(hObject, eventdata, handles)
handles.A=str2double(get(hObject,'String'));
guidata(hObject, handles);
end
 
function Rec_Callback(hObject, eventdata, handles)
grabacion(handles.A)
end
 
function  grabacion(duracion)
fs=44100; %f. muestreo
senal_salida=audiorecorder(fs,16,1);%Creacion del objeto de grabacion
msgbox('Empezando Grabacion',' Grabadora '); %Mensaje de informacion
recordblocking(senal_salida,duracion);%Grabacion del sonido
msgbox('Terminando Grabacion',' Grabadora ');%Mensaje de informacion
senal_grabada=getaudiodata(senal_salida, 'single');
%Grabamos y guardamos la señal
[nombre,ruta]=uiputfile({'*.wav'});
wavwrite(senal_grabada,fs,fullfile(ruta,nombre));
x=wavread(fullfile(ruta,nombre));
t3=(0:length(x)-1)/fs;
plot(t3,x)
end



El problema aqui es que la grafica me sale en una ventana muy pequeña, y sin las etiquetas de tiempo en su eje. Quisiera saber como poder ver este gráfico en una ventana más grande, y si seria posible adjuntarla en la gui?. Gracias de antemano.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Grafica de señal de audio en gui

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 02/11/2015 17:41:54
Si es posible, insertar la imagen en la gui y también poner etiquetas. Trata de buscar un poco mas de información respecto a los guides en el internet. De esa manera aprenderás mas del tema.

para etiquetas usa xlabel y ylabel, estudia eses funciones.

Saludos
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Grafica de señal de audio en gui

Publicado por Israel (28 intervenciones) el 02/11/2015 17:59:37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function varargout = pruebagui(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @pruebagui_OpeningFcn, ...
                   'gui_OutputFcn',  @pruebagui_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
end
function pruebagui_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
end
 
function varargout = pruebagui_OutputFcn(hObject, eventdata, handles)
end
function tiempo_Callback(hObject, eventdata, handles)
handles.A=str2double(get(hObject,'String'));
guidata(hObject, handles);
end
 
function Rec_Callback(hObject, eventdata, handles)
grabacion(handles.A)
axes(handles.axes1);
x1 = [1:0.001:10];
x2 = 2-x1*3;
plot(x1,x2,'red','LineWidth', 2.5);
end
 
function  grabacion(duracion)
fs=44100; %f. muestreo
senal_salida=audiorecorder(fs,16,1);%Creacion del objeto de grabacion
msgbox('Empezando Grabacion',' Grabadora '); %Mensaje de informacion
recordblocking(senal_salida,duracion);%Grabacion del sonido
msgbox('Terminando Grabacion',' Grabadora ');%Mensaje de informacion
senal_grabada=getaudiodata(senal_salida, 'single');
%Grabamos y guardamos la señal
[nombre,ruta]=uiputfile({'*.wav'});
wavwrite(senal_grabada,fs,fullfile(ruta,nombre));
axes(handles.axes1);
x=wavread(fullfile(ruta,nombre));
t3=(0:length(x)-1)/fs;
plot(t3,x);
end


Intente usando el axes, pero el software no corre, pero cuando pruebo digamos con el siguiente código directamente en el callback de un boton si funciona. Ayudenme con esto porfa, ya que si estoy investigando en internet, pero cuando trato de usar estos comandos en mi script no corre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar