Borrar filtros
Borrar filtros

How to reset or close sound() player?

2 visualizaciones (últimos 30 días)
J. McCabe
J. McCabe el 18 de En. de 2017
Respondida: J. McCabe el 20 de En. de 2017
I have a script with two calls to the soundsc() function in Matlab. The first plays an array of samples, the second plays a modified array for comparison. However, only the first is played. I assume I need to close or reset the soundsc() player between subsequent calls, but can't find anything on how to do that. I tried
clear playsnd
clear sound
but neither works.
Anyone know what I'm doing wrong? Thanks.
  1 comentario
Jan
Jan el 18 de En. de 2017
Editada: Jan el 18 de En. de 2017
Please post the relevant code. There is no need to "clear" a builtin command. There must be another reason for the observed behavior.

Iniciar sesión para comentar.

Respuesta aceptada

J. McCabe
J. McCabe el 20 de En. de 2017
After some research I figured the answer to the question. Apparently,subsequent calls to 'sound' or 'soundsc' are executed asynchronously, which means if you have
sound(x)
sound(y)
in your script, both will be executed virtually simultaneously. One way to get around that is to insert a 'pause()' after the first call, and set the pause value at > the time it takes to play the first 'sound()':
sound(x)
pause(5)
sound(y)

Más respuestas (1)

Jan
Jan el 18 de En. de 2017
Perhaps the modern audioplayer can help you.
  1 comentario
J. McCabe
J. McCabe el 18 de En. de 2017
Thanks, I appreciate the help. The reason I like the soundsc() function over the audioplayer is it automatically scales the magnitude between -1 to +1, and also it seems (IMO at least) a bit more messy to have to instantiate an audioplayer if I'm just playing some sine waves. What I ended up doing is just
z = horzcat(x,y);
soundsc(z,3600);
That seems to work fine. BTW, I did try to set up two audioplayers for the signals and play sequentially, but it still only played one signal. The horzcat played both. Wierd...

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by