通过matlab分别录制一段男声和一段女声,显示各自的时域波形和幅度谱,对男女声的波形和幅度谱进行比较。
时间: 2024-02-27 10:56:07 浏览: 20
以下是通过 MATLAB 分别录制一段男声和一段女声,显示各自的时域波形和幅度谱的代码:
```matlab
% 录制男声
Fs = 44100; % 采样率
duration = 5; % 录制时长
recObj = audiorecorder(Fs, 16, 1);
disp('开始录制男声...');
recordblocking(recObj, duration);
disp('录制结束');
male = getaudiodata(recObj);
% 录制女声
Fs = 44100; % 采样率
duration = 5; % 录制时长
recObj = audiorecorder(Fs, 16, 1);
disp('开始录制女声...');
recordblocking(recObj, duration);
disp('录制结束');
female = getaudiodata(recObj);
% 绘制男声的时域波形和幅度谱
subplot(2,2,1);
plot(male);
title('男声时域波形');
subplot(2,2,2);
spectrogram(male, 256, [], [], Fs, 'yaxis');
title('男声幅度谱');
% 绘制女声的时域波形和幅度谱
subplot(2,2,3);
plot(female);
title('女声时域波形');
subplot(2,2,4);
spectrogram(female, 256, [], [], Fs, 'yaxis');
title('女声幅度谱');
```
运行上述代码,会弹出两个对话框依次录制男声和女声,录制结束后会分别显示两个图像窗口,其中左上角是男声的时域波形图,右上角是男声的幅度谱图,左下角和右下角同理是女声的时域波形图和幅度谱图。
通过比较两个声音的时域波形和幅度谱,我们可以发现男声和女声在频率组成和强弱分布上有一定的差异。男声通常在低频和中频部分比较强,而女声则在高频部分比较强。在幅度谱中可以看到这种差异更加明显,因为幅度谱是将时域波形分解成不同频率分量的能量,而不同声音的频率分量不同,因此幅度谱也不同。