Convert audio file to a byte array in matlab

2019-03-07 01:42发布

I want to convert an audio file (.wav/.mp3) to a byte array like in C#. Here's my code,

string imageName = Guid.NewGuid().ToString() + ".mp3";
byte[] file = System.Convert.FromBase64String(Filep);
File.WriteAllBytes(Server.MapPath("FILE/" + imageName), file);
return imageName;

1条回答
手持菜刀,她持情操
2楼-- · 2019-03-07 02:12

If you want to read the raw audio data, use audioread. You call it like so:

[y,Fs] = audioread(filename);

filename would be the file name of your file (.mp3/.wav) and what is returned is a matrix of values stored in y and the sampling frequency of the file in Fs. y would be a matrix such that the number of rows tells you the number of samples that your audio consists of, and the number of columns tells you how many channels the audio has. For example, mono audio would be a single column vector while stereo audio would be a two-column matrix: the first column being the left channel and the second column being the right channel.

For more information, check out the MathWorks doc I linked you to above.

查看更多
登录 后发表回答