matlab2016 wavread,matlab 7.10里面的wavread函数不能打开.wav文件。我的wav文件是电脑自带的录音机录的...
时间: 2024-04-07 14:29:54 浏览: 15
从MATLAB 7.10版本开始,`wavread`函数已被弃用。在MATLAB 2016中,您应该使用`audioread`函数来读取.wav文件。您可以尝试以下代码:
```
[y,fs] = audioread('your_file.wav');
```
其中,`y`是音频数据,`fs`是采样率。如果您想将音频数据写入.wav文件,可以使用`audiowrite`函数:
```
audiowrite('new_file.wav', y, fs);
```
如果您仍然想使用`wavread`函数,请确保您的.wav文件格式符合函数的要求。您可以尝试使用其他软件(如Audacity)打开并重新保存您的.wav文件,然后尝试使用`wavread`函数。
相关问题
matlab打开wav文件
要在MATLAB中打开WAV文件,请使用`wavread`或`audioread`函数。以下是使用这两个函数的示例:
使用`wavread`函数:
```matlab
[x, Fs] = wavread('file.wav');
```
其中,`x`是包含音频数据的向量,`Fs`是采样率。
使用`audioread`函数:
```matlab
[x, Fs] = audioread('file.wav');
```
这里的`x`和`Fs`的含义与`wavread`函数相同。需要注意的是,`audioread`函数在MATLAB R2012b及更高版本中可用,而`wavread`函数已弃用。
MATLAB函数 wavread(file)
很抱歉,我之前的回答有误。在MATLAB中,`wavread`函数已经被弃用,应该使用`audioread`函数来读取WAV文件。下面是`audioread`函数的使用方法:
```matlab
[y, Fs] = audioread(file);
```
其中,`file`是WAV文件的路径和文件名,`y`是音频数据,`Fs`是采样率。如果WAV文件是单声道,`y`是`N×1`的列向量,其中`N`是采样点数;如果WAV文件是立体声,`y`是`N×2`的矩阵,其中第一列是左声道,第二列是右声道。
需要注意的是,`audioread`函数读取的音频数据是归一化到[-1,1]的浮点数,如果需要将其转换为整数形式,可以使用`int16`函数进行转换。例如,将单声道音频数据转换为`int16`格式的代码如下:
```matlab
y_int = int16(y * 32767); % 将[-1,1]的浮点数转换为[-32767,32767]的整数
```
另外,如果需要将音频数据写入WAV文件,可以使用`audiowrite`函数。例如,将上面的`y_int`写入WAV文件的代码如下:
```matlab
audiowrite('newfile.wav', y_int, Fs);
```