Converting code to use wavread to audioread

42 次查看(过去 30 天)
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 个评论
AndyLAB
AndyLAB 2017-5-4
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.
Louise Wilson
Louise Wilson 2019-4-30
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 个)

Sachin Kumar
Sachin Kumar 2017-5-9
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 个评论
Santosh Xavier
Santosh Xavier 2019-6-14
Faced same issue, resolved it using the following steps to get nbits
aInfo = audioinfo(wavfilename);
nbits = aInfo.BitsPerSample;

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by