Matlab Freezes after playing tone couple of times.

2 views (last 30 days)
I built a Matlab program that presents tones to an individual. On the screen, the user is presented with two buttons, volume up, volume down. Each time they press on a button the amplitude of the tone changes and the new tone is presented. However, after going back and forth between volume up and volume down, matlab freezes and I get an error: "MATLAB has causes an internal error to occur"
The way I am generating the tone is as follows:
C = [y1 y2];
ap = audioplayer(C,Fs);
This is part of a bigger code that is in a function that is being accessed each time the user tune up or down the volume.
Can MATLAB handle sound that is being played in quick succession? I notice that the problem is not present if I am only tuning up or down and not jumping back and forth inbetween those two.
Thanks for your help; Really appreciate it
Mohammad on 9 Aug 2013
Edited: Mohammad on 9 Aug 2013
Did anyone tried it on MATLAB 2013?? Does it work better on it? And I am using uiwait and uiresume. Could this be affecting the program? Thanks

Sign in to comment.

Answers (1)

Daniel Shub
Daniel Shub on 8 Aug 2013
The standard MATLAB sound commands have overhead associated with stopping and starting the soundcard so you cannot do what you are trying in a simple way. In order to do what you want you need the lower level control of the soundcard that port audio provides. The DSP toolbox in "newer" versions of MATLAB (I think R2012a) provides port audio support, but I am not sure to what extent. I almost always suggest the PsychToolbox even though it comes with a lot of baggage compared to some of the stand alone functions (e.g., playrec or pa_wavplay). Given what you are trying to do, it sounds like the baggage may actually be helpful.
  1 Comment
Mohammad on 9 Aug 2013
I see. I did some more research on the topic. Seems like a common problem. i saw some posts on how it works with Matlab 2007. I think i will have to download that and try it or go with the Psychtoolbox. Thanks.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!