How to check length of a .wav file through GUI

5 views (last 30 days)
Hi,
I have designed a GUI which allows a user to click on the browse button and browse through his hard disk to select a .wav file. Now, I want that the .wav file selected should have a minimum length of let's say 3 seconds.
So, what I want is that if the user selects a .wav file from hard disk with length lesser than 3 seconds, I could display a message. How could I implement this functionality through MATLAB that it checks the length of the .wav file selected by the user?
Thank you.

Accepted Answer

Paulo Silva
Paulo Silva on 30 Jun 2011
[y,fs] = wavread(filename);
TotalTime = length(y)./fs; % time in seconds
  1 Comment
Matlab Help Seeker
Matlab Help Seeker on 30 Jun 2011
I thought of this after posting the answer. That means I am getting intelligent too :p
Thank you!

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 30 Jun 2011
wavfinfo can tell you the number of samples in the .wav file. You could combine that with asking to read only one sample in wavread() in order to get out the sampling frequency (and the bits per sample if you care about that.)
  2 Comments
manjula kumari
manjula kumari on 17 Feb 2022
Hi, you can simply plot the .wav file by reading with "audioread" function. then plot the file, x-axis represents the number of samples only.
Walter Roberson
Walter Roberson on 17 Feb 2022
audioread() did not exist at the time the question was asked; it was added in R2012b.
Plotting the data is not an effecient way of determining the number of samples.
audioinfo() can be used to determine the number of samples and the sampling rate. However, be sure to read the limitations: on Windows and Linux there are situations in which the returned number of samples can be inaccurate.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!