语音信号都是随着时间:变化而变化的,我们可以把语音看成是一个受准周 期脉冲或随机噪声源激励的线性系统的输出。输出频谱是信道系统频率响应与激
励源频谱的乘积。信道系统的频率响应及激励源都是随时间变化的,因此一般标 准的傅立叶表示虽然对周期及平稳随机信号的表示是合适的,但它不能直接用于 语音信号。由于语音信号可以在短时间被认为近似不变,因而可以采用短时分析 法。文献综述
变换:在 matalab 界面调用 Fourier 等变换函数对采集的语音信号作对应的 变换,然后产生变换前后的频谱图和变换后的倒谱图。
其他语音处理功能的实现:在本论里我们还会讨论如何实现语音的淡入,淡 出,倒放,快放,合成,增加回音功能。
语音信号的效果显示:通过设计好的 GUI 窗口,播放经淡入,淡出,倒放 等处理的语音信号,将收听后的效果与原声带进行比较。
3 语音信号处理基本知识
3。1 语音的录入与打开
在 MATLAB 中,我们可以利用”waveread”命令来读入语音信号。下面来 介绍几种该函数的调用格式:
(1)y=wavread (file):读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。
(2)[y, fs, nbits]=wavread(file):采样值放在向量 y 中,fs 表示采样频率(hz),nbits 表示采样位数
(3)y=wavread (file,N):读取钱 N 点的采样值放在向量 y 中。
(4)y=wavread (file, [NI, N2]):读取从 N1 到 N2 点的采样值放在向量 y 中[1]
y=sound(x,fs,bits); 该函数用于声音的播放。向量 y 则就代表了一个语音信 号(即一个复杂的“函数表达式”),fs 代表采样频率,bits 代表采样位数。
3。2 采样位数和采样频率
采样位数是指 1 次采样所占的位数,用来衡量声音波动变化的参数,这个数
值越大,解析度越高,录制和回放的声音就越真实。采样频率是指 1 秒钟取样的 次数,较高的采样频率能够更真实自然的恢复原有的声音。
采样位数和采样率是该音频接口的两个最重要指标, 这也是两个选择 音频接口的重要标准。理论上来说采样的位数决定了音频数据最大的力度 范围, 它与采样频率并没有直接的关系, 而且一个采样位数所对应的力度 范围是 6 分贝。如果采样的位数越多, 那么我们捕捉到的信号就越精确。 对于采样频率来说你可以把它想象成一台录像机,35。4k kHz 意味着音频流
进入录像机时录像机机每秒会对其拍照达 35400 次。很 明显采样频率越高, 录像机所采集到的图片就越多,那么还原到信号也就越准确。
3。3 时域信号的 FFT 分析
FFT 即快速傅里叶变换,是 DFT 即离散傅氏变换的一种快速算法而不是 一种新的变换, 它可以在数量级的意义上提高运算速度, 它是基于离散傅 氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改良获得 的。在 MATLAB 中调用函数 FFT 和 IFFT,这两个函数分别用于快速傅立叶变 换和逆变换。FFT 有两种调用格式,其中一种为 y=fft(x),x 是序列,y 是序列的 FFT,x 可以为一向量或矩阵,若 x 为一向量,y 是 x 的 FFT 且和 x 相同长度; 当 x 为一矩阵时,y 为矩阵 x 的每一列的 FFT。如果 x 的长度 length(x)为 2 的幂 次方时,fft 得到基-2FFT 算法,否则就采用运行稍慢的混合基算法(将 n 分解 为素数),若 n 为素数,则 fft 采用的是原始的 DFT 算法。函数 FFT 的另一种调 用格式为 y=fft(x,N),此时函数采用 N 点 FFT,当 x 为向量且长度小于 N 时,fft 在 x 的尾部补零,补成 N 点数据;当向量 x 的长度大于 N,fft 就会截断序列 来*自~优|尔^论:文+网www.youerw.com +QQ752018766*