录制0-9数字语音,利用MATLAB软件读入语音文件,将文件转换成数字语音信号。要求:绘制数字语音信号的波形,分析各数字语音信号的时域特点;在软件中利用拼接方法,生成202105100126的语音文件,并能正确播放自己的学号。
时间: 2023-06-11 22:06:33 浏览: 125
MATLAB绘制音频波形及频谱
首先,我们需要录制0-9数字语音,可以使用录音设备或者手机等设备录制,将录制好的语音文件保存为WAV格式。
接下来,利用MATLAB软件读入语音文件,可以使用MATLAB自带的`audioread`函数,代码如下:
```
[x,fs]=audioread('数字语音文件名.wav');
```
其中,`x`为读入的语音信号,`fs`为采样率。
然后,我们可以绘制数字语音信号的波形,可以使用MATLAB自带的`plot`函数,代码如下:
```
t=0:1/fs:(length(x)-1)/fs;
plot(t,x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Waveform of Digit Speech Signal');
```
接下来,我们可以分析各数字语音信号的时域特点,如声音的持续时间、语速等。可以通过观察波形图来得到一些直观的特点。
最后,我们需要利用拼接方法,生成202105100126的语音文件,并能正确播放自己的学号。可以使用MATLAB自带的`audiowrite`函数,代码如下:
```
x0 = audioread('0.wav');
x2 = audioread('2.wav');
x1 = audioread('1.wav');
x0_1 = audioread('0.wav');
x5 = audioread('5.wav');
x1_0 = audioread('0.wav');
x0_2 = audioread('2.wav');
x1_2 = audioread('1.wav');
x2_6 = audioread('6.wav');
x = [x2;x0;x2;x1;x0_1;x5;x1_0;x0_2;x1_2;x6];
audiowrite('202105100126.wav',x,fs);
```
其中,`x0`~`x9`为数字0~9的语音信号,`x`为拼接后的语音信号,`fs`为采样率。最后,我们可以使用MATLAB自带的`audioplayer`函数进行播放,代码如下:
```
player = audioplayer(x,fs);
play(player);
```
这样,我们就可以听到自己的学号被正确播放出来了。
阅读全文