clear sound will stop a sound that is playing on matlab.
The sound command on Matlab (
sound(some_variable,sampling_rate)) plays a sound based on the values in a variable and a sampling rate. But it almost seems like there is no way to stop it. You can, though, if you clear all the variables by typing in
clear all. But that can be problematic as it will wipe out all the variables you are working with. The best thing to do instead, is to type in
I said I would return in a week or so to talk about my experiences with using Matlab without a GUI in part 1/2 of this series. I also said I would get back with a report on how debugging works in a command line environment because it could be pretty important for a lot of us. But it seems Matlab has a pretty good setup to debug using the command line. This is just awesome and I am so happy.
With the following commands, you will be well setup to do some basic debugging. You can refer the help docs for your specific needs. This will give you a quick review of what you can do.
Set breakpoints at different places in the script using
dbstop. Mention the script name and the line number where you need to stop, using the following line of code on the command line.
dbstop in scriptname at linenumber
Look at all the places you have used a breakpoint using,
dbstatus. Just type in dbstatus in the command line and it will let you know.
When you are running the program, it would stop at the places where you have added breakpoints. When you are done analyzing your variables and what not, you can type in
dbcont to continue execution until it encounters the next breakpoint, or the end of the program.
You can use
dbstep to step one line at a time just like how you would with the GUI. You can also say something like
dbstep 5 to step through five lines of code.
Remove breakpoints in a line or, all of it in a file or, all of it in all files using
dbclear all will clear all of it in all places.
dbclear in script/filename will clear all breakpoints in a file. You can also add line number to remove something specific from a specific place.
dbquit to exit debugging mode.
For more interesting ways to debug, take a look at the help files. They have a load of information along with examples. You can use some of these commands with an if statement. Like for example, adding a break point when some condition is satisfied. This could be very useful. A lot of actual debugging does happen this way when you are working with a lot of code. Happy debugging.
It has not been one week yet. So I named this post 1.5/2. You can only really get a good picture of things over time. So it is not just a sensation but rather the actual fact. I will be back again in a week or so with my conclusions.
Matlab can be invoked without its GUI on linux systems by typing in the following on the terminal.
This opens up matlab just like an Octave or Python prompt on the terminal. What is the use you may ask. You might be perfectly happy with the IDE like environment. But personally, there is something nice about using the terminal. Less fuss and more work. Makes you feel at home. If you are like me. Then you should try it.
I can use vim to edit my scripts. I can run my matlab scripts by typing in
run scriptname.m. I can see all the variables by typing in
who. I can see all the details of the variables by typing in
whos. It gives me the type, shape and name of the variables. I can just type in the name of the variable to print it out.
Wouldn’t that be ‘a lot’ of what we would require? It feels really similar to using python scripts with scipy and numpy packages for signal processing. Sometimes I am using vim even when i am using the Matlab GUI as well. I use the gui just to run the code and look at the variables.
Wouldn’t it be possible to just use a text editor and then run the code alone on the terminal without starting up matlab in the first place? Yeah, technically Yes, with some other arguments you can do that. But every time you run it, matlab seems to load everything and you’d probably have to wait ten to twenty seconds for an output. That is not efficient.
Yeah, line by line debugging would also be really helpful sometimes. I will see if there are any workarounds for that, by the time i write part 2 of this blog. I will work with this for a week or so and get back with some updates about whether I am going to continue using it this way.
Stuff you can skip
The error sound (‘ding’) can be really irritating sometimes. Adding to the irritation that you did not get the output properly. It was really essential for me to turn that thing into something pleasant because it was getting on my nerve and I need my peace of mind when I’m programming.
The reason you get that annoying sound is related to your windows sound theme. If your default beep is ‘windows ding’ then you would get the same. Yes really, the sound’s name is ‘windows ding’. There are two kinds of ding though (now this is starting to be kinda funny, anyways). One is ‘ding’ the other one is ‘windows ding’. Windows ding is the annoying one.
So here’s what you do to turn it off.
How do you do it
So head over to your taskbar and find your volume controller/audio manager like so and right click on it
Click on Sounds.
You would see the following screen.
See the list and find out where Default Beep is and click on it. When you do so, the sound that is mapped to this will be shown below and you can see what sound that is by clicking on Test which will play the sound for you.
Once you have done that. Pull down the drop down menu and click on the sound that you would like to hear when you have an error. I mapped it to chimes and that’s my preference.
Now this should work. In case it doesn’t, repeat the same procedure and change the sound of Program Error also like so.
Tell me if you have any problems with it. I’ll try my best to give you a solution.
Thanks for reading