Matlab - Como seguir en el oscilograma el audio que se encucha

 
Vista:

Como seguir en el oscilograma el audio que se encucha

Publicado por Andres Cristancho (4 intervenciones) el 15/10/2015 00:59:56
Buen dia

Tengo un archivo .wav del cual ploteo el osciligrama, pero necesito saber cual es la parte del oscilograma que se está escuchando.

¿cómo hago para que dibujar una barra que vaya corriendo en el oscilograma al mismo tiempo que avanza el audio?.

Agradezco la ayuda.
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 Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como seguir en el oscilograma el audio que se encucha

Publicado por Royeth (1818 intervenciones) el 15/10/2015 18:45:28
Hola bueno debes ejecutar lo siguiente pero debes guardar la función llamar para que la ejecución sea satisfactoria
1
2
3
4
5
6
7
8
9
10
load handel %ejemplo
figure; hold on;
plot(y, 'b');
title('Osilograma');
yl = get(gca, 'YLim');
plotdata = yl(1):0.1:yl(2);
hline = plot(zeros(size(plotdata)), plotdata, 'r');
player = audioplayer(y, Fs);
set(player,'TimerFcn',{@llamar,gcf, plotdata},'TimerPeriod',0.01)
play(player);



Función que debes guardar
1
2
3
4
5
6
function llamar(simisma, ~,figHandle,plotdata)
    hMarker = findobj(figHandle, 'Color', 'r');
    delete(hMarker);
    x = simisma.CurrentSample;
    plot(repmat(x, size(plotdata)), plotdata, 'r');
end

saludos
https://www.facebook.com/royethmatlab/
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

Como seguir en el oscilograma el audio que se encucha

Publicado por Andres Cristancho (4 intervenciones) el 16/10/2015 00:52:32
Buenas tardes, Jesús

El código funciona perfecto por aparte, pero cuando lo voy a usar en una GUI no dibuja la linea que sigue el audio. (tengo 4 axes en la GUI)

¿Cómo puedo resolver ese problema?

agradezco la colaboración.
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
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como seguir en el oscilograma el audio que se encucha

Publicado por Royeth (1818 intervenciones) el 16/10/2015 04:15:22
para eso debes colocar el identificador del axes en la entrada de la función de tal manera que se dibuje lo que hagas en ese lugar

puedes cambiar de la siguiente forma

axes(handles.axes2) y luego de que hagas plot o algún comando apra dibujar se dibujará en el axes 2
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

Como seguir en el oscilograma el audio que se encucha

Publicado por Andres Cristancho (4 intervenciones) el 16/10/2015 16:40:35
Eso hice, pero cuando dibuja la linea roja me borra la señal de voz. inclusive colocandole HOLD ON.
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
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como seguir en el oscilograma el audio que se encucha

Publicado por Royeth (1818 intervenciones) el 18/10/2015 21:01:36
debes incluirlo aquí también

1
set(player,'TimerFcn',{@llamar,handles.axes1, plotdata},'TimerPeriod',0.01)

para que reconozca el handles donde va ir haciendo el plot yo le puse que era el axes uno pero puedes ponerle el que desees , saludos
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