您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页语音信号处理实验一

语音信号处理实验一

来源:爱够旅游网
 实验一 语音信号的采集及预处理

一、 实验目的

在理论学习的基础上,进一步地理解和掌握语音信号预处理及短时加窗的意义及基于matlab的实现方法。

二、 撰写实验报告要求

要求随本次上机撰写完成实验报告,报告中要有实验目的、实验步骤、实验程序、实验中得出的图形结果及结论等。另外,总结本次上机实验的收获。

三、 实验内容及步骤

1. 语音信号的录音、读入、放音等:练习matlab中几个音频处理函数,利用函数wavread对语音信号进行采样,记住采样频率和采样点数,给出以下语音的波形图(2.wav),wavread的用法参见mablab帮助文件。利用wavplay或soundview放音。也可以利用wavrecord自己录制一段语音,并进行以上操作(需要话筒)。 [Y,FS,NBITS,OPTS]=wavread('9.wav') FS =

10000

NBITS = 16

OPTS =

fmt: [1x1 struct]

2. 语音信号的分帧:选择20ms左右为一帧,帧移取1/2帧长,对语音信号进行分帧,可以利用voicebox工具箱中的函数enframe。voicebox工具箱是基于GNU协议的自由软件,其中包含了很多语音信号相关的函数。

1

voicebox工具箱安装方法:

把工具箱拷贝入.\\MatLab\oolbox目录下; 菜单file-set path-\"Add folder\" 导入voicebox;

菜单file-Preference-General-\"Updata Toolbox Path Cache

分帧函数的调用: y=enframe(x,len,inc)

x为输入语音信号,len指定了帧长,inc指定帧移,函数返回为n×len的一个矩阵,每一行都是一帧数据。

帧长=10000X0.02=200s

x=wavread('9.wav') y=enframe(x,200,100) subplot(2,1,1),plot(x) subplot(2,1,2),plot(y)

2

3 窗函数及其时频特性:本步要求利用window函数设计窗口长度为200(N=200)的矩形窗(rectwin)、汉明窗(hamming)及汉宁窗(hann)),利用wvtool函数观察其时域波形图及频谱特性,比较得出结论。

w = window(fhandle,n) w = window(fhandle,n,winopt)

w = window(fhandle,n) returns the n-point window, specified by its function handle, fhandle, in column vector w. Function handles are window function names preceded by an @. @barthannwin @bartlett @blackman @blackmanharris @bohmanwin @chebwin

3

@flattopwin @gausswin @hamming @hann @kaiser @nuttallwin @parzenwin @rectwin @triang @tukeywin

w = window(fhandle,n,winopt) returns the window specified by its function handle, fhandle, and its winopt value or sampling flag string. For chebwin, kaiser, and tukeywin, you must enter a winopt value. For the other windows listed below, winopt values are optional.

Examples:Create Blackman Harris, Hamming, and Gaussian windows and plot them in the same WVTool. N = 65;

w = window(@blackmanharris,N); w1 = window(@hamming,N); w2 = window(@gausswin,N,2.5); wvtool(w,w1,w2)

4

N = 200;

w = window(@rectwin,N); w1 = window(@hamming,N); w2 = window(@hann,N); wvtool(w,w1,w2)

3. 语音信号加窗:观察信号加矩形窗及汉明窗后的波形,取出其中一帧,利用subplot与reshape函数将一帧语音的波形、加矩形窗波形及加汉明窗波形画在一张图上比较将得出结

5

论。

例:语音信号分帧,每一帧加哈宁窗

y=enframe(x,hanning(len),inc);

[x,fs,nbits]=wavread('2.wav'); x1=enframe(x,200,100);

x2=enframe(x,hamming(200),100); subplot(2,1,1),plot(x1(50,:)) subplot(2,1,2),plot(x2(50,:))

4. 预加重:即语音信号通过一个一阶高通滤波器10.9375z1。 例如:y=filter([1 -0.9375],1,x) 利用subplot画出预加重前后的波形图。 x=wavread('1.wav')

y=filter([1 -0.9375],1,x) subplot(2,1,1),plot(x) subplot(2,1,2),plot(y)

6

四、 思考题

1. 语音信号包括哪些预处理,作用分别是什么?

预处理通常包括:量化,放大与自动增益控制,反混叠滤波,模数变换 2. 不同窗口的优缺点,窗口长度如何选取?

选取原则:N选择太大,则短时能量En随时间变化就很小,不能充分反应语音信号的幅度变化:而N选择太小,即选择N等于或小于个基因周期时,En将按照信号波形的细微变化而起伏不定,而致短时能量En不够匀化和平滑。因此,折中考虑N的值,在通常情况下,当取样频率为10kHz,N=100—200被认为是合适的。

7

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务