当前位置:文档之家› 数字信号处理(语音处理应用)1

数字信号处理(语音处理应用)1


二、语音信号在matlab中的表示
• Wavread函数 • y=wavread(file),读取file所规定的wav文件,返 回采样值放在向量y中。 • [y,fs,nbits]=wavread(file),采样值放在向量y中, fs表示采样频率(Hz),nbits表示采样位数。 • y=wavread(file,N),读取前N点的采样值放在向 量y中。 • y=wavread(file,[N1,N2]),读取从N1点到N2点的 采样值放在向量y中。
短时平均过零率
• 计算一个语音帧内单位时间(或单位样本)越过 零线的平均次数,可以得出其短时平均过零率 (zero crossing rate)或短时平均过零数。
• 声带振动时,是在发浊音,所以过零率低,声带 不振动时,是在发清音,所以过零率就高,没有 声音时若有噪音存在,也会有较高的过零率。 (浊音、清音过零率的高低不是绝对的,分布有 交叉的情况,多种工具同时用)
语音信号的数字处理方法
• 可听声包括 :
– 话音(也称语音) 人的说话声,频率范围通常 为300Hz~3400Hz。 – 音乐 由乐器演奏形成(规范的符号化声音), 其带宽可达到20Hz~20kHz。 – 其他声音 如风声、雨声、鸟叫声、汽车鸣笛声 等,它们起着效果声或噪声的作用,其带宽范 围也是20Hz~20kHz。
短时加窗处理
• 通常在采样频率为10KHz的情况下,N选择 在100~200量级是合适的。
• 对于语音信号的时域分析来说,窗函数的 形状是非常重要的,矩形窗的谱平滑性较 好,但波形细节容易丢失,并且矩形窗会 产生泄漏现象;而海明窗可以有效的克服 泄漏现象,应用范围也最为广泛。
短时能量分析
• 振幅越大则能量越大 • 短时平均能量函数 - 变换T[ ]是指平方和运算; - 两种计算方法:
• En的应用:
– 1)区分清音段和浊音段 – 2)区分声母和韵母 – 3)区分无声和有声的分界(信噪比较高的信号) – 4)区分连字的边界 – 5)用于语音识别
短时能量分析
• En的缺点:
– 对高电平过于敏感,给加窗宽度的选择带来了 困难。扩大了振幅不相等的任何两个相邻取样 值(此处的取样值是指某语帧的短时平均能量值) 之间的幅度差别,必须用较宽的窗函数才能平 滑能量幅度的起伏。
[y, fs]=wavread('welcome.wav');
wavplay(y, 1.0*fs, ‘sync’);% 播放 1.0 倍速度的音频 wavplay(y, 0.9*fs, 'sync'); % 播放 0.9 倍速度的音频
wavplay(y, 0.8*fs, 'sync'); % 播放 0.8 倍速度的音频
短时加窗处理
• 通常窗口的长度是取10~30 毫秒 (ms),这样 一段语音信号足以计算出语音的特征参数 (feature parameters)。 • 窗口的移动距离,大约会取5~20 ms,让前 后的语音帧有部分重叠,这样能观察到语 音特征改变的延续性以保证分析的准确性。
短时加窗处理
短时加窗处理
• 为了使En能准确反映语音能量的时变规律:
– 数据窗w(n)或滤波器h(n)函数形式和宽度的选择 相当重要。
短时能量分析
图:语 音信号 的短时 平均能 量曲线
短时平均过零率
• 过零:信号波形穿越时间轴或零值线;对 于离散时间信号而言就是相邻的取样值符 号改变。 • 平均过零率:单位时间(或单位样本)内 过零的次数。
音频播放函数wavplay
声音的音量是由声波的震幅来决定,因此我们可 藉由震幅的大小来改变音量,例如: [y, fs]=wavread('welcome.wav'); wavplay(1*y, fs, ‘sync’); wavplay(3*y, fs, 'sync'); wavplay(5*y, fs, 'sync'); % 播放1倍震幅的音频 % 播放2倍震幅的音频 % 播放3倍震幅的音频
语音信号的数字处理方法
• 声音信号是一种模拟信号,计算机要对它 进行处理,必须将它转换成为数字声音信 号,即用二进制数字的编码形式来表示声 音。最基本的声音信号数字化方法是取样— 量化法。
常见音频格式
• • • • • • CD:*.cda WAV:微软开发,音质好,体积大 MP3 :MPEG标准中的音频部分 MIDI:Musical Instrument Digital Interface WMA:Windows Media Audio RealAudio:适用于网络在线音乐欣赏
wavplay(y, 1.2*fs, 'sync'); % 播放 1.2 倍速度的音频
wavplay(y, 1.5*fs, 'sync'); % 播放 1.5 倍速度的音频 wavplay(y, 2.0*fs, 'sync'); % 播放 2.0 倍速度的音频
– 如果渐渐降低播放的频率,听到的声音就会越 来越慢、越来越低,最后出现像牛叫的声音:
• fprintf('音频文件长度 = %g 秒\n', length(y)/fs);
• fprintf('取样频率 = %g 取样点/秒\n', fs); • fprintf('分辨率 = %g 位/取样点\n', nbits);
音频播放函数sound
• • • • • • Sound 函数:matlab发声函数 sound(y,Fs) sound(y) 例: 1、sound(sin(2*pi*25*(1:4000)/100)); 2、 load chirp; sound(y)
数字信号处理课程设计
---------语音处理应用
一、语音信号简介
• 语音信息的重要性 • 语音信号的数字处理方法 • 常见音频格式
语音信息的重要性
其它信息 20% 图像信息 语音信息 其它信息
语音信息 20%
图像信息 60%
人类从大自然获取信息的分布图
语音信号的数字处理方法
• 对声音信号的分析表明,声音信号由许多 频率不同的信号组成,通常称为复合信号, 而把单一频率的信号称为分量信号。 • 声音信号的一个重要参数就是带宽 (bandwidth),它用来描述组成声音的信 号的频率范围。 • PC机处理的音频信号主要是人耳能听得到 的音频信号(audio),它的频率范围是 20Hz~20kHz。
– 如果在播放时,改变取样频率,就会改变整个 音讯的时间长度,进而影响到音高。在下例中, 我们渐渐提高播放时的取样频率,听到的声音 就会越来越快、越来越高,最后出现像唐老鸭 的声音:
[y, fs]=wavread('welcome.wav'); wavplay(y, 1.0*fs, ‘sync’);% 播放 1.0 倍• • • • 短时加窗处理 短时能量分析 短时平均过零率 短时自相关函数
短时加窗处理
• 对于一段语音的离散时间信号x(m),用一个 固定长度的窗口(window)套上去,只看窗口 内的信号,对这些信号做计算,用以求出 在这窗口内的语音特征(speech features)。 这样的处理方式,就叫加窗(windowing), 而套上去的这一段语音即称为语音帧 (frame)。
wavplay(flipud(y), fs, 'sync');% 播放前后颠倒的音频波形

通常在使用 wavplay 播放音讯时,MATLAB 会停止进行 其它动作,直到音讯播放完毕后,才会再进行其它指令 的 运 算 , 此 种 运 作 方 式 称 为 「 同 步 式 」 ( Synchronous )。若需要一边播放、一边进行其它运 算,就必须使用「异步式」(Asynchronous)的播放方 式。
En [ x(m) w(n m)]2 En x ( m ) h ( n m )
2 m m
短时能量分析
x ( n)
()
2
x2 (n)
h( n)
En
短时能量的方块图表示
短时能量分析
• En的作用:
– 反映出语音的能量或语音振幅随时间缓慢变化 的规律。(浊音段能量比清音段大的多)
语音信号的数字处理方法
• 声音信号的两个基本参数是幅度和频率。
– 幅度是指声波的振幅,通常用动态范围表示, 一般用分贝(dB)为单位来计量。 – 频率是指声波每秒钟变化的次数,用Hz表示。 – 人们把频率小于20Hz声波信号称为亚音信号 (也称次音信号) – 频率范围为20Hz~20kHz的声波信号称为音频信 号 – 高于20kHz的信号称为超音频信号(也称超声波)
短时平均过零率
• 变换T[ ]相当于平均过零率计算:
– 短时平均过零率的计算方法:
1 Z n | sgn[ x (m)] sgn[ x (m 1)] |w(n m ) 2 m 1 n N 1 | sgn[ xw (m)] sgn[ xw (m 1)] | 2 mn 1 , 0 m N 1 w(n) N 0, 其余m值 1, x(m) 0 sgn[ x (m)] 0, x (m ) 0 1, x(m) 0
[y, fs]=wavread('welcome.wav');
wavplay(y, 1.0*fs, ‘sync’); % 同步播放 1.0 倍速度的音频
wavplay(y, 0.8*fs, 'async'); % 异步播放 0.8 倍速度的音频 wavplay(y, 0.6*fs, 'async'); % 异步播放 0.6 倍速度的音频
wavplay(y, 0.6*fs, 'sync'); % 播放 0.6 倍速度的音频
相关主题