List WAV file attributes without audioread

Hi all,
I have a large data set of wav files (each file is sampled at 500kHz on 4 channels) and I need to create a table with the filename and duration (as well as some other data which is extracted fromt he file name). I am able to do this with audio read but it takes such a long time to load in each file. Is there anyway to extract the file name and duration from windows explore for example? Or are there any other functions that could do this without loading in everyfile like audioread does? Or even any way of speeding up audio read, for example only loading in one channel rather than all four?
Thanks in advance! :)
Thomas

3 Comments

hello
if you know the sampling freq nad the resolution, you can estimate the duration by the size of the file
you can access this info by doing this : (example with 5 files in this directory)
s = dir('*.wav')
s =
5×1 struct array with fields:
name
folder
date
bytes
isdir
datenum
>> s.bytes
ans =
1536256
ans =
1536256
ans =
1536256
ans =
5300900
ans =
5322284
just remembered that there is a better way ! just do this inside a loop and you're done
info = audioinfo(filename)
info =
struct with fields:
Filename: 'C:\Temp\handel.wav'
CompressionMethod: 'Uncompressed'
NumChannels: 1
SampleRate: 8192
TotalSamples: 73113
Duration: 8.9249
Title: []
Comment: []
Artist: []
BitsPerSample: 16
Audioinfo! Perfect! This worked like a charm! Thankyou so much :)

Sign in to comment.

 Accepted Answer

For anyone interested see Mathieu NOE's comments above! Thanks Aagin

More Answers (0)

Community Treasure Hunt

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

Start Hunting!