语音信号处理与识别_语音信号处理情感识别

2020-02-29 其他范文 下载本文

语音信号处理与识别由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“语音信号处理情感识别”。

信号系统课程设计报告

欧阳光亮

2012029020025

语音信号处理与识别

目的:理解时域和频域尺度变换基本概念,掌握信号时频域分析方法,正确理解采样定理,准确理解滤波器的概念。内容:

(1)使用Matlab中wavrecord命令录制一段3秒的语音信号,使用wavplay命令播放,录制命令和播放命令中的采样频率设置成相同和不同两种情况,对观察到的现象进行分析并结合课本中的知识对该现象进行解释;(2)使用不同的采样频率录制一段3秒的语音信号,画出信号的时域波形和频谱;找到语音信号的主要频谱成分所在的带宽;观察并分析不同采样频率对波形和频谱的影响;寻找声音信号不出现明显失真的最低采样频率;(3)录制一段男生的语音信号和一段女生的语音信号,对两段音频信号进行混合,设计滤波器将混合的语音信号分开成单独的男声和女声信号,如果分离效果不好,对原因进行解释。

Matlab命令:wavrecord, wavplay, wavwrite, wavread, save, load, fft, fftshift, filter, plot, subplot, figure.过程:(1)相同:

fs1=16000;

%取样频率 fs2=16000;

%播放频率 duration=5;

%录音时间

fprintf('Pre any key to start %g seconds of recording...n',duration);

pause;

fprintf('Recording...n');

y=wavrecord(duration*fs1,fs1);

%duration*fs 是总的采样点数

fprintf('Finished recording.n');

fprintf('Pre any key to play the recording...n');

pause;

wavplay(y,fs2);wavwrite(y,fs1,'E:matlabrecord3.wav

不同:

fs1=16000;

%取样频率 fs2=8000;

%播放频率 duration=5;

%录音时间

fprintf('Pre any key to start %g seconds of recording...n',duration);

pause;

fprintf('Recording...n');

y=wavrecord(duration*fs1,fs1);

%duration*fs 是总的采样点数

fprintf('Finished recording.n');

fprintf('Pre any key to play the recording...n');

pause;

wavplay(y,fs2);wavwrite(y,fs1,'E:matlabrecord3.wav');现象:第二次播放时,声音明显失真。

理由:采样频率和播放频率不一样时声音信号会失真。(2)

fs1=16000;

%取样频率 fs2=16000;

%播放频率 duration=5;

%录音时间

fprintf('Pre any key to start %g seconds of recording...n',duration);

pause;

fprintf('Recording...n');

y=wavrecord(duration*fs1,fs1);

%duration*fs 是总的采样点数

fprintf('Finished recording.n');

fprintf('Pre any key to play the recording...n');

pause;

wavplay(y,fs2);wavwrite(y,fs1,'E:matlabrecord3.wav');

wav=wavread('E:matlabrecord3.wav');Fs=16000;n=length(wav);f=(0:n-1)*16000/n;mag=abs(fft(wav));subplot(2,1,1);plot(wav);subplot(2,1,2);plot(f,mag)

采样频率为1600010.5y/幅度0-0.5-101234x/t采样频率为16000567x 1084600500400y/幅度***400060008000x/f***16000

fs1=8000;

%取样频率 fs2=8000;

%播放频率 duration=5;

%录音时间

fprintf('Pre any key to start %g seconds of recording...n',duration);

pause;

fprintf('Recording...n');

y=wavrecord(duration*fs1,fs1);

%duration*fs 是总的采样点数

fprintf('Finished recording.n');

fprintf('Pre any key to play the recording...n');

pause;wavplay(y,fs2);wavwrite(y,fs1,'E:matlabrecord3.wav');

wav=wavread('E:matlabrecord3.wav');Fs=8000;n=length(wav);f=(0:n-1)*16000/n;mag=abs(fft(wav));subplot(2,1,1);plot(wav);subplot(2,1,2);plot(f,mag)wavplay(wav,8000)

采样频率为8000hz1 0.5y/幅度0-0.5-1 00.511.52x/s采样频率为8000hz2.533.5x ***0500y/幅度***00x/hz***16000

由图可知:语音信号的主要频谱成分所在的带宽为(0—1200hz),带宽为1200hz。

当采样频率较小时,频谱图上显示带宽较大,波形较稀松。

最低采样频率应为,声音信号的最高频率的两倍,由图可知为2400hz。(3)女声:

wav1=wavread('E:matlabrecord1.wav');wav2=wavread('E:matlabrecord2.wav');wav=wav1+wav2;fp1=800;fp2=1500;fp=[fp1,fp2];fr1=650;fr2=1900;fr=[fr1,fr2];Fs=16000;ap=1;as=40;[n,fn]= buttord(fp/(Fs/2),fr/(Fs/2),ap,as,'z');[b,a]=butter(n,fn);Y1=filter(b,a,wav);Y=fft(Y1);mag=abs(Y);n=length(wav);f=(0:n-1)*16000/n;subplot(3,1,1);mag1=abs(fft(wav));plot(f,mag1)subplot(3,1,2);plot(f,mag);subplot(3,1,3);plot(Y1);wavplay(Y1,16000)

混合400300y/幅度***060008000x/频率女声***16000400300y/幅度 2001000 ***00f/hz***160000.20.1y/幅度0-0.1-0.201234x/t567x 1084

男声:

wav1=wavread('E:matlabrecord1.wav');wav2=wavread('E:matlabrecord2.wav');wav=wav1+wav2;fp1=200;fp2=600;fp=[fp1,fp2];fr1=100;fr2=1000;fr=[fr1,fr2];Fs=16000;ap=3;as=40;[n,fn]= buttord(fp/(Fs/2),fr/(Fs/2),ap,as,'z');[b,a]=butter(n,fn);Y1=filter(b,a,wav);Y=fft(Y1);mag=abs(Y);n=length(wav);f=(0:n-1)*16000/n;subplot(3,1,1);mag1=abs(fft(wav));plot(f,mag1)subplot(3,1,2);plot(f,mag);subplot(3,1,3);plot(Y1);wavplay(Y1,16000)

混合频谱图200150y/幅度***30004000x/hz男声频谱图***040y/幅度***8000x/hz男声时域图***160000.040.02y/幅度0-0.02-0.0401234x/s567x 1084

分离效果不佳,原因:男女声频率有很多重叠的地方。

《语音信号处理与识别.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
语音信号处理与识别
点击下载文档
相关专题 语音信号处理情感识别 信号处理 语音 语音信号处理情感识别 信号处理 语音
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文