matlab读取wav,播放wav,绘制
时间: 2023-07-16 17:16:55 浏览: 105
读取wav文件:
```matlab
[data, Fs] = audioread('filename.wav');
```
其中,`data`是一个包含音频数据的矩阵,`Fs`是采样率。
播放wav文件:
```matlab
sound(data, Fs);
```
绘制wav文件的波形图:
```matlab
t = (0:size(data,1)-1)/Fs; % 时间轴
plot(t, data); % 绘制波形图
xlabel('Time (s)');
ylabel('Amplitude');
```
如果需要绘制频谱图,可以使用Matlab自带的fft函数进行傅里叶变换,然后使用plot函数绘制。
相关问题
matlab读取wav,播放wav,改变速率后绘制波形图
以下是一个示例代码,可以读取 WAV 文件、改变速率并绘制波形图:
```matlab
% 读取 WAV 文件
filename = 'example.wav';
[y, Fs] = audioread(filename);
% 播放 WAV 文件
sound(y, Fs);
% 改变速率
speed_factor = 0.5; % 降低一半速率
y_new = resample(y, round(length(y)*speed_factor), length(y));
% 绘制波形图
t = (0:length(y)-1)/Fs;
t_new = (0:length(y_new)-1)/Fs/speed_factor;
figure;
subplot(2,1,1);
plot(t, y);
title('Original Waveform');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(2,1,2);
plot(t_new, y_new);
title('New Waveform');
xlabel('Time (s)');
ylabel('Amplitude');
```
其中,`audioread` 函数可以读取 WAV 文件中的音频数据和采样率,`sound` 函数可以播放音频,`resample` 函数可以改变速率,`plot` 函数可以绘制波形图。注意,在绘制新波形图时,时间轴需要除以速率因子以保持时间长度一致。
MATLAB读取wav文件并画频谱
你可以使用MATLAB的`audioread`函数来读取wav文件,并使用`spectrogram`函数来绘制频谱。下面是一个简单的示例代码:
```matlab
% 读取wav文件
[y, fs] = audioread('your_file.wav');
% 绘制频谱
spectrogram(y, 512, [], [], fs, 'yaxis');
colorbar;
```
请确保将`your_file.wav`替换为你要读取的实际文件路径。这段代码将绘制出频谱图,并在y轴上显示频率,x轴上显示时间。你还可以根据需要调整`spectrogram`函数的其他参数来改变绘图效果。
阅读全文