问题在于:我通过tcp socket将一个小的音频文件(~10Kb)从android发送到matlab。 matlab脚本获取文件,但android的outputstream发送原始字节。如何在matlab中重建原始音频文件?
答案 0 :(得分:0)
您在这里遇到的问题是变量类型。
通过TCP,音频数据最有可能以16int
或16uint
发送(假设有一些函数/方法可以按顺序将16int
或16uint
正确转换为字节写入缓冲区以通过TCP发送)。
首先,你必须检查:
16int
但是以防万一的方式检查)然后,您必须从文件中读取这些数据并将其转换为双精度数据。为此目的,有很多例子。最简单的方法是在使用MATLAB的double
函数将值转换为双精度后,将值映射到新范围。
对于映射值,有mapminmax
method