I want to read an audio file with matlab coder. The problem is that wavread()
is not supported, but as this is a pretty essential part of any audio coding I am thinking that there must be another way to achieve this? Any ideas?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
What is your use case? If you really just want to run the generated code in a MEX-function within MATLAB you can use coder.extrinsic to call wavread. This will not work outside of the MATLAB environment.
Outside the MATLAB environment, you will need to use custom C code integration.
回答2:
The WAV file format is fairly simple & widely documented for example here.
You can use the low-level file IO functions, fopen()
, fread()
, fseek
to read the file, assuming these are themselves available. This is exactly what wavread()
does internally - take a look at the source.
回答3:
fopen()
is now supported starting from Matlab 2013a. See here.