在Matlab中将原始字节转换为音频

时间:2015-02-13 13:41:31

标签: android matlab sockets audio tcp

问题在于:我通过tcp socket将一个小的音频文件(~10Kb)从android发送到matlab。 matlab脚本获取文件,但android的outputstream发送原始字节。如何在matlab中重建原始音频文件?

1 个答案:

答案 0 :(得分:0)

您在这里遇到的问题是变量类型。

通过TCP,音频数据最有可能以16int16uint发送(假设有一些函数/方法可以按顺序将16int16uint正确转换为字节写入缓冲区以通过TCP发送)。

首先,你必须检查:

  • 发送数据的字节序
  • 音频数据在android中的类型(最有可能是16int但是以防万一的方式检查)

然后,您必须从文件中读取这些数据并将其转换为双精度数据。为此目的,有很多例子。最简单的方法是在使用MATLAB的double函数将值转换为双精度后,将值映射到新范围。

对于映射值,有mapminmax method