Converting code to use wavread to audioread

In new versions of MATLAB wavread is no longer supported. This could be used to get information from the additional information sections of the file, including custom fields.
[y, Fs, nbits, opts] = wavread(filename) returns a structure opts of additional information contained in the WAV file. The content of this structure differs from file to file. Typical structure fields include opts.fmt (audio format information) and opts.info (text that describes the title, author, etc.).
audioread has no such facility and audioinfo is very ridged and limited (not allowing the read of custom fields).
What is the way around this, as I am trying to get some pre-existing code working in the new version?

3 Comments

What do you mean by "audioinfo" is rigid?? It gives the format, title, author. What other information are you looking for??
The files I am reading have some custom fields (the files are written by us and read by us). These custom fields provide extra information about how the data was created (its all custom stuff).
wavread conveniently returns all that information but is no longer supported.
I am not an expert on MATLAB (or programming) and am simply trying to use some preexisting code to perform a task.
Hi AndyLAB,
Did you resolve this? I am now having the same issue, using code that a previous student wrote to batch analyse audio files.
I can get Fs with audioread, but not nbits.
Thanks!

Sign in to comment.

Answers (1)

While writing data to your audio file, you can write your custom data/info as comment and you can read the same info in comment section using audioinfo() function. Check this example:

1 Comment

Faced same issue, resolved it using the following steps to get nbits
aInfo = audioinfo(wavfilename);
nbits = aInfo.BitsPerSample;

Sign in to comment.

Asked:

on 3 May 2017

Commented:

on 14 Jun 2019

Community Treasure Hunt

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

Start Hunting!