Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MATLAB中读取wav文件时如何避免数据缩放_Matlab_Wav - Fatal编程技术网

在MATLAB中读取wav文件时如何避免数据缩放

在MATLAB中读取wav文件时如何避免数据缩放,matlab,wav,Matlab,Wav,我有一个16位的wav文件,它包含的浮点数据的范围超过了[-1到+1],我正试图在Matlab2010b中读取它默认情况下,Wavread将数据缩放到[-1到+1],而使用“native”选项将数据缩放到[-2^15到2^15]范围内的整数值。我希望避免这两种情况,只读取原始数据,即单/双格式。我该怎么做?更新版本的MATLAB中的“audioread”有什么不同吗? 非常感谢 audioread仍将浮点音频数据缩放到[-1,1]的范围。如果要访问无标度的数据,可能需要自己解析并读取文件中的数据

我有一个16位的wav文件,它包含的浮点数据的范围超过了[-1到+1],我正试图在Matlab2010b中读取它默认情况下,Wavread将数据缩放到[-1到+1],而使用“native”选项将数据缩放到[-2^15到2^15]范围内的整数值。我希望避免这两种情况,只读取原始数据,即单/双格式。我该怎么做?更新版本的MATLAB中的“audioread”有什么不同吗?
非常感谢

audioread
仍将浮点音频数据缩放到
[-1,1]
的范围。如果要访问无标度的数据,可能需要自己解析并读取文件中的数据。请访问以下网站:-这是描述WAV标准的完整规范。您的WAV文件是浮点数据吗?大多数wav文件都是整数。您是如何创建/获取此类文件的?例如,如果您使用wavwrite,我非常确定您的文件将是int。您确定您的文件包含浮点值吗?@chipaudette-
wav
文件可以是浮点值。检查上面OP参考的链接I中的WAV标准。此外,MATLAB也知道数据类型。它检查标头内的标志,并根据该数据类型执行必要的缩放。如果文件是整数,则使用
audioread/wavread
读入后的数据也将是整数。我的wavread文件是使用这个名为LMS Test.Xpress的软件生成的。它为我提供了将测量数据(如噪声、振动、压力、力等)导出为多通道wav文件的选项。这就是为什么浮点数据超出[-1,+1]范围的原因。@rayryeng-那么MATLAB无法直接为我提供必要的输出(使用任何可用的函数)?当然,我可以找出我的最大/最小振幅,并使用它来缩小MATLAB读取数据的比例。但是我正在尝试建立一个自动化的过程,其中的假设是用户不会打开每个单独的文件来知道最大/最小振幅是多少。