【问题标题】:Convert audio file to a byte array in matlab在matlab中将音频文件转换为字节数组
【发布时间】:2014-12-24 03:20:15
【问题描述】:

我想将音频文件 (.wav/.mp3) 转换为 C# 中的字节数组。这是我的代码,

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

【问题讨论】:

  • 实际上这是可行的。我想在matlab中做同样的过程
  • 您想要原始音频数据,还是只想打开文件并访问数据?
  • 我想要原始数据(将音频保存到矩阵)
  • 请编辑您的帖子。与您在原始帖子中所追求的相比,您在 cmets 中向我提出的要求是不一样的。

标签: c# matlab audio wav


【解决方案1】:

如果您想读取原始音频数据,请使用audioread。你这样称呼它:

[y,Fs] = audioread(filename);

filename 将是您的文件的文件名 (.mp3/.wav),返回的是存储在 y 中的值矩阵和文件在 Fs 中的采样频率。 y 是一个矩阵,行数告诉您音频包含的样本数,列数告诉您音频有多少个通道。例如,单声道音频是单列向量,而立体声音频是双列矩阵:第一列是左声道,第二列是右声道。

有关更多信息,请查看我在上面链接到的 MathWorks 文档。

【讨论】:

  • 我想获得音频文件的一些特殊特性(如频率或幅度)以进一步分析。采样率和采样频率不是我想要的。我想匹配两个音频剪辑。第一个是原始音频剪辑,第二个是该音频剪辑的 sn-p。
  • @dinoos - 与原始帖子的要求相比,您在此处要求的内容相同。 ShazamSoundHound 已经完成了您基本上正在寻找的内容。他们通过查看两个信号的频率分解来将音频剪辑匹配在一起。 FWIW,Shazam 算法已经公开,其 MATLAB 代码可在此处获得:labrosa.ee.columbia.edu/matlab/fingerprint - 顺便说一句,您所要求的范围太广了。你不会从我们任何人那里得到任何答案。对不起。祝你好运!
猜你喜欢
  • 2019-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-11
  • 1970-01-01
  • 1970-01-01
  • 2016-04-27
  • 2010-11-05
相关资源
最近更新 更多