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 个评论

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!

请先登录,再进行评论。

回答(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 个评论

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

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by