How do I convert a .wav file to a .matlab file using wavread?

32 views (last 30 days)
Can anyone help please? I am trying to use wavread to convert .wav to .matfiles but I am getting a message saying "undefined function or variable 'wavread'.
For example one of my named sound files: y = wavread('barber-s-01-t1.wav')
Or is there another way of converting to .mat files?
Any suggestions would be much appreciated.
Thanks in advance.

Answers (1)

Star Strider
Star Strider on 15 Aug 2019
The wavread function was deprecated a while ago. Use the audioread function (R2012b and later versions) instead.
  2 Comments
Angela Burgess
Angela Burgess on 15 Aug 2019
Thank you.
So I typed this: [y,Fs] = audioread('barber-s-01-t1.wav') which seemed to work.
Then how do i actually convert or save it to a .mat file?
Sorry if I seem completely cluless (because I am!). I am trying to get some understanding of Matlab!
Star Strider
Star Strider on 15 Aug 2019
My pleasure.
Create a name for the output file (I call it ‘soundfile.mat’ here), then save ’y’ and ‘Fs’ to your .mat file:
save('soundfile.mat', 'y', 'Fs')
You need to save ‘Fs’ (and any metadata as well) to it. In your workspace, ‘y’ will exist as a one- or two-column double array, and ‘Fs’ as a scalar.
Also, when you read it, load it into a variable to create a structure. You can then rename any parts of it to whatever variable names you want, not necessarily the variable names that exist in the .mat file. See: Load List of Variables into Structure Array

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!