Matlab在基音周期检测教学中的应用研究
matlab基音周期频率估计
专业班级 组别成员实验内容:利用至少两种频率估计方法编程求给定信号的频率 1 设计思路方案一:采用谱峰估计法将信号进行傅里叶变换,从频谱中找到幅度最大的谱线,对应频点与频率分辨率乘积即为信号频率。
方案二:采用导数法利用傅里叶变换性质,将原信号进行时域求导,再利用离散Parseval 定理,求出原信号的频率。
具体推导公式如下:时域信号()j t x t e Ω=,求导得()()()()n n x t j x t =Ω 两边同时平方积分,得 ()2222|()||()()||()|n n n x t dt j x t dt x t dt ∞∞∞-∞-∞-∞=Ω=Ω⎰⎰⎰即Ω=运用离散Parseval 定理,得2N πω= 其中,ω为0~2π的一个频点,采样频率为Fs ,由此计算出频率2f Fs ωπ=⨯2 程序代码① 谱峰估计法function f=pufengload signal; %信号自动存于变量SN=128;Fs=4000; %信号采样频率f=zeros(1,7);y=abs(fft(S,N));[m,n]=max(y);f(1)=(n-1)*Fs/N; %无噪声时求出的频率SNR=[20 15 10 5 0 -5];%信噪比for i=1:6S=awgn(S,SNR(i));y=abs(fft(S,N));[m,n]=max(y);f(i+1)=(n-1)*Fs/N;endplot(f);hold;plot(f,'.');axis([0 8 340 355]);xlabel('无噪声--> 20dB --> 15dB --> 10dB --> 5dB --> 0dB --> -5dB');legend('谱峰估计法');②导数法function f=daoshu2Fs=4000;N=128;n=1; %求导次数ndelta=6;SNR=[20 15 10 5 0 -5]; %信噪比load signal;signal=zeros(7,length(S));signal(1,:)=S;for i=1:6signal(i+1,:)=awgn(S,SNR(i)); %加性高斯白噪声endfor j=1:7F=abs(fft(signal(j,:),N));[Fm,k0]=max(F);En1=0;En2=0;for k=k0-delta:k0+delta;En1=En1+(k-1)^(2*n)*F(k)^2;En2=En2+F(k)^2; %主瓣能量endf(j)=Fs/N*(En1/En2)^(1/(2*n));endplot(f,'r');hold;plot(f,'.r');axis([0 8 340 355]);xlabel('无噪声--> 20dB --> 15dB --> 10dB --> 5dB --> 0dB --> -5dB');legend('导数法');3 程序使用说明将谱峰估计法代码保存为pufeng.m文件,将导数法代码保存于daoshu2.m 文件,直接调用程序pufeng或daoshu2,查看运行结果。
MATLAB在语音信号处理辅助教学中的应用
电气电子教学学报 JOU RNAL OF EEE
Vol. 27 No. 2 Apr. 2005
MATLAB 在语音信号处理辅助教学中的应用
张 力
( 深圳大学 信息工程学院 , 广东 深圳 518060) a
摘 要 : 本文将 MAT LAB 语言引入语音 信号处理教学中 , 以基音周期估计和端点检 测为例 , 阐述了利 用 MAT LAB 语言编程的 编程思想、 程 序的编写及实现。将语音信号处理过程编程开发成可执行的程序 , 生成可以执行的动画文件。可根据实际的分析需要改变其参数观察变化过 程 , 有助于将语音信号处理中抽象的概念形象化 , 促进学生对其理论的深刻理解。 关键词 : MAT LAB; 语音信号处理 ; 基音周期估计 ; 端点检测 中图分类号 : TN912; G642. 423 文献标识码 : A 文章编号 : 1008- 0686( 2005) 02- 0096- 04
1 根据短时自相关函数进行基音周期 估计
1. 1 基本原理
基音周期是语音最重要的参数之一 , 根据加窗
语音来估计基音周期 , 在语音编码器、 语音识别、 说
话人识别等领域都很重要。由信号自相关函数的性 质可知, 若原始信号是周期的 , 则其自相关函数也是
周期的, 且自相关函数的周期就是原始信号的周期。
Application of MATLAB in the Assistant Teaching of Speech Signal Pr coessing
ZHANG Li
( F aculty of I nf ormat ion Eng ineer ing , Shenzhen University , Shenzhen 518060, Chi na )
《语音信号处理》实验2-基音周期估计
华南理工大学《语音信号处理》实验报告实验名称:基音周期估计姓名:学号:班级:10级电信5班日期:2013年5 月15日1.实验目的本次试验的目的是通过matlab编程,验证课本中基音周期估计的方法,本实验采用的方法是自相关法。
2. 实验原理1、基音周期基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。
基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。
因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。
由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。
基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。
②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容易。
③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。
④基音周期变化范围大,从老年男性的50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。
由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。
尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT、谱图法、小波法等等。
Matlab在基音周期检测教学中的应用研究
Matlab在基音周期检测教学中的应用研究
基音周期检测是语音信号处理领域中的一个基本任务,用于确定连续语音中的基音周期。
在语音合成、自然语言处理、音频信号处理等领域都有广泛的应用。
本文将介绍Matlab在基音周期检测教学中的应用研究。
Matlab提供了许多有用的工具箱和函数,方便进行基音周期检测的教学和研究。
其中最常用的是信号处理工具箱(Signal Processing Toolbox),内置了许多用于语音分析和处理的函数。
Matlab中的autocorr()函数可以计算信号的自相关函数,用于估计基音周期;Matlab还提供了一些用于语音分析和合成的函数,如resample()、filter()等。
这些函数可以帮助学生了解基音周期检测的原理,并进行实际操作和实验。
Matlab可以用于基音周期检测算法的实现和验证。
学生可以使用Matlab编写基音周
期检测算法,并对不同语音信号进行测试和评估。
可以使用Matlab生成不同基音周期和频率特征的语音信号,并添加噪声进行测试。
通过比较算法估计的基音周期与信号的真实基
音周期,可以评估算法的准确性和鲁棒性。
这样的实验可以帮助学生深入理解基音周期检
测算法的原理和性能。
Matlab在基音周期检测教学中的应用研究具有重要意义。
通过Matlab的工具和函数,学生可以方便地学习和研究基音周期检测的原理和方法,实现和评估基音周期检测算法,
并进行可视化分析。
这将有助于提高学生的实践能力和科研水平,促进语音信号处理领域
的教学和研究。
基于MATLAB的语音信号的基音周期检测
基于MATLAB的语音信号的基音周期检测摘要:MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将要性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB 借助符号数学工具箱提供的符号运算功能,基本满足设计需要。
例如:解微分方程、傅里叶正反变换、拉普拉斯正反变换和Z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。
本次课程设计为语音信号的基音周期检测,采集语音信号,对语音信号进行处理,区分清音浊音,并通过对采样值进行滤波、分帧、求短时自相关函数,得到浊音的基音周期。
关键字:清音、浊音、基音周期、基音检测、自相关函数目录1 概述 (1)2 AMDF算法原理及实现 (1)2.1 AMDF算法源程序 (2)3 ACF算法原理及实现 (4)3.1 用短时平均能量进行清/浊音的判断 (4)3.2 自相关函数基音检测的原理 (6)3.3 算法实现及相关程序 (6)3.3.1 带通滤波 (7)3.3.2 取样与分帧 (7)3.3.3 短时能量分析 (8)3.3.4 自相关函数分析 (11)4 总结与心得体会 (13)参考文献 (13)1 概述基音周期检测也称为基频检测(Pitch Detection) ,它的目标是找出和声带振动频率完全一致的基音周期变化轨迹曲线,或者是尽量相吻合的轨迹曲线。
基音周期检测在语音信号的各个处理领域中,如语音分析与合成、有调语音的辨意、低速率语音压缩编码、说话人识别等都是至关重要的,它的准确性及实时性对系统起着非常关键的作用,影响着整个系统的性能。
语音信号基音周期检测的matlab程序
function nmax=find_maxn(r)%寻找峰值最大的n值及基音周期%r,自相关序列%maxn,为峰值最大的nzer=find(r==0); %找第一个零点如果存在jiaocha=0; %找第一近零点ii=1;while (jiaocha<=0)if(r(ii)>0 && r(ii+1)<0 && (ii+1)<length(r))jiaocha=ii;endii=ii+1;if ii==length(r) %没有找到符合要求的点jiaocha=1;endendif length(zer)>0 %检查是否存在零点if zer(1)<jiaocha %存在,则和jiaocha比较大小,用于祛除前点的对基音周期的查找带来的影响jiaocha=zer(1);endendr(1:jiaocha)=0; %祛除影响maxn=max(r); %找最大值temp=find(r==maxn);%返回第一个最大值nmax=temp(1);function jiyinzhouqi(filename,shift)%短时自相关分析%filename语音文件*.wav%zhouqi基音周期shift=10;[signal,fs]=wavread('f:/mywork/1.wav');shift=round(fs*shift); %帧移n1=fix(fs*0.97)+1; %分析起点970ms,帧长30msn2=fix(fs*1)+1;ii=1;for ii=1:(length(signal)-n1)/shift %分析次数if n2<length(signal) %防止溢出data=signal(n1:n2);N=n2-n1+1;R=zeros(1,N); %基音周期(n)多次分析数组for k=1:N-1 %求自相关序列for jj=1:N-kR(k)=R(k)+data(jj)*data(jj+k);endendvalue(ii)=find_maxn(R); %调用基音周期(n)分析函数n1=n1+shift; %移动帧n2=n2+shift;endend%figure(3)%plot(R);%axis([0,1000 -300 300])figure(1)stem(value);axis([0 length(value) 0 1000])len =length(value); %基音周期(n)多次分析数组长度aver=mean(value);index=find(abs((value-aver))>aver/5);value(index)=0; %去除大野点的影响len=len-length(index);for jj=1:3:len/3 %中值平滑,滑动窗口宽度3,精度为中值1/4(剔除野点)average=(value(jj)+value(jj+1)+value(jj+2))/3;for kk=1:3if abs((value(jj-1+kk))-average)>average/4value(jj-1+kk)=0; %将野点置零,同时数组长度减一len=len-1;endendendfigure(2)stem(value);axis([0 length(value) 0 max(value)])Tp=sum(value)/len/fs %求基音周期(Tp)。
Matlab基于倒谱和EMD的语音基音周期的提取
---------------------------------------------------------------范文最新推荐------------------------------------------------------ Matlab基于倒谱和EMD的语音基音周期的提取在语音信号处理中,常用的语音特性是基于Mel频率的倒谱系数(MFCC)以及一些语音信号的固有特征,如基音周期等。
倒谱法可以较好地将语音信号中的激励信号和声道响应分离,并只需要用一些倒谱系数就能较好地描述语言信号的声道响应,在语音信号处理中占有很重要的位臵。
而倒谱解卷积法受加性噪声影响比较大,抗噪声性能不是很好。
针对这一存在问题,利用EMD 方法在理论上可以应用于任何类型的信号的分解,在处理非平稳及非线性数据上, 具有非常明显的优势这一优点。
本文中提出一种基于倒谱和EMD的语音基音周期提取的改进算法。
并在Matlab 中予以实现。
关键字:基音周期倒谱法EMD8664TitlePitch Period Extraction of Speech Signals based1 / 8on Cepstrum and EMDAbstractIn voice signal processing, MFCC and some inherent characteristics of voice signals, such as the frequency of pitch. Cepstrum can be used to separate the excitation signal and channel response, and can represent channel response with only a dozen cepstral coefficients. As a result, it has been a very important role in voice signal processing. While cepstrum deconvolution method is largely influenced by additive noise,and anti-noise performance is not very good.The EMD method can be applied to decompose any type of signals,and thus,having a very distinct advantage in handing non-stationary and non-linear data.For this problem,in this paper,an improved algorithm of pitch period extraction of speech signals based on cepstrum and EMD is proposed. Its implementation in MATLAB are described in detail.Key words:pitch periodCepstrumEMD---------------------------------------------------------------范文最新推荐------------------------------------------------------ 目次1 引言11 引言1.1 背景由于语言是人们在日常生活中的主要交流手段,因此语音信号处理在现代信息社会中占用重要地位。
基音周期提取2-基于线性相关系数的Matlab实现
基⾳周期提取2-基于线性相关系数的Matlab实现基⾳周期提取2-基于线性相关系数的Matlab实现基⾳周期提取结果图1 基⾳提取结果算法说明线性相关系数也称“⽪尔逊积矩相关系数”(Pearson product-moment correlation coefficient)通常⽤γ或ρ表⽰,是⽤来度量两个变量之间的相互关系(线性相关),取值范围在[-1,+1]之间。
γ>0为正相关,γ<0为负相关,γ=0表⽰不相关。
γ的绝对值越⼤,相关程度越⾼。
r=1时为完全正相关;如两者呈负相关则r为负值,⽽r=-1时为完全负相关。
通常|r|⼤于0.75时,认为两个变量有很强的线性相关性。
图2 线性相关系数计算公式式中x,y为两个向量,这⾥理解为两帧语⾳的采样序列。
当x,y为相邻的两帧数据,且帧长等于基⾳周期时,其相关系数为最⼤值(最接近1)。
Matlab应⽤编程Matlab中可⽤corrcoef(x,y)函数计算相关系数。
%inx: 输⼊的语⾳采样数据%Pos: 查找Pos点处的基⾳周期%minpth: 基⾳周期最⼩值对应的采样点数%maxpth: 基⾳周期最⼤值对应的采样点数%plotfig: 为1时绘制计算过程曲线图%%out: 以不同样点数作为期⾳周期的相似系数,其最⼤值点就对应基⾳周期function [out] = findPitchCorrcoef(inx,Pos,minpth,maxpth,plotfig)[line,row] = size(inx);out = 0;if(line<Pos+ceil(maxpth))return;endif(Pos<ceil(maxpth))return;endout=zeros(ceil(maxpth),1);for i=floor(minpth):ceil(maxpth)xa = inx(Pos-i:Pos); %以i为帧长,Pos点为分界,取其前后两帧数据xb = inx(Pos+1:Pos+1+i);if(max(abs(xa))<0.05) %为减⼩计算量,幅度⼩于0.05时认为是噪⾳,不作计算continue;endif(max(abs(xb))<0.05)continue;endcorrcoefxab = corrcoef(xa,xb);out(i)=corrcoefxab(2,1);endif(plotfig == 1) %绘计算过程曲线figure;subplot(2,1,1);plot(inx,'.-');grid on;subplot(2,1,2);plot(out,'*-');grid on;end图3 基⾳计算过程曲线由图3可以看出,在帧长为42点时(8K采样,对应190.5Hz),相邻两帧语⾳具有最⼤相似系数0.9359。
实验二语音信号的基音周期提取最终报告
实验二语音信号的基音周期提取一、实验目的1、熟练运用MATLAB软件的运用,学习通过MATLAB软件编程来进行语音信号的基因周期提取。
2、掌握语音信号的基音周期提取的方法,实现其中一种基频提取方法。
3、学会用自相关法进行语音信号的基因检测.二、实验仪器设备及软件HP D538、MATLAB三、实验原理浊音信号的自相关函数在基因周期的整数倍位置上出现峰值,而清音的自相关函数没有明显的峰值出现。
因此检测自相关函数是否有峰值就可以判断是清音还是浊音,而峰-峰值之间对应的就是基音周期。
影响从自相关函数中正确提取基音周期的最主要原因是声道响应。
当基音的周期性和共振峰的周期性混在一起时,被检测出来的峰值可能会偏离原来峰值的真实位置。
另外,在某些浊音中,第一共振频率可能会等于或低于基音频率.此时,如果其幅度很高,它就可能在自相关函数中产生一个峰值,而该峰值又可以同基音频率的峰值相比拟。
1、自相关函数对于离散的语音信号x(n),它的自相关函数定义为:R(k)=Σx(n)x(n-k),如果信号x(n))具有周期性,那么它的自相关函数也具有周期性,而且周期与信号x(n)的周期性相同。
自相关函数提供了一种获取周期信号周期的方法。
在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具.2、短时自相关函数语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。
短时自相关函数是在信号的第N 个样本点附近用短时窗截取一段信号,做自相关计算所得的结果Rm(k)=Σx(n)x(n-k)式中,n表示窗函数是从第n点开始加入。
3、算法通过对自相关基音检测原理的分析,考虑到检测准确度和检测速率2方面的因素,提出了算法实现方案,并对算法进行了Matlab编程实现。
算法包含6个功能模块:带通滤波、取样、分帧、短时能量分析、相关运算、基音检测。
基音周期估计实验报告(3篇)
第1篇一、实验目的本实验旨在通过实际操作,深入了解基音周期估计的方法及其在语音信号处理中的应用。
通过实验,我们能够掌握基音周期估计的基本原理,并能够运用自相关法、倒谱法等常用方法进行基音周期的估计。
二、实验原理基音周期估计是语音信号处理中的一个重要环节,它可以帮助我们更好地理解语音的声学特征。
基音周期是指浊音的声带振动周期,它反映了声带的振动频率。
在语音信号中,浊音部分具有明显的周期性,而清音部分则没有明显的周期性。
三、实验设备与软件1. 实验设备:计算机、麦克风、耳机。
2. 实验软件:MATLAB、OpenCV。
四、实验步骤1. 数据采集:使用麦克风采集一段语音信号,并保存为.wav格式。
2. 信号预处理:对采集到的语音信号进行预处理,包括去除噪声、提取浊音段等。
3. 基音周期估计:- 自相关法:计算语音信号的短时自相关函数,找到最大值对应的周期即为基音周期。
- 倒谱法:对语音信号进行快速傅里叶变换(FFT)得到频谱,然后将频谱转换为对数坐标,再次进行FFT得到倒谱,最后从倒谱中提取基音周期。
4. 结果分析:比较不同方法得到的基音周期,分析其优缺点。
五、实验结果1. 自相关法:通过计算短时自相关函数,我们得到了一个周期性较强的曲线。
在曲线中,第一个峰值对应的周期即为基音周期。
通过实验,我们发现自相关法对于浊音段的基音周期估计较为准确。
2. 倒谱法:通过对语音信号进行FFT和倒谱变换,我们得到了一个倒谱曲线。
在倒谱曲线上,我们可以观察到多个峰值,这些峰值对应于不同的频率成分。
通过分析这些峰值,我们可以估计出基音周期。
实验结果表明,倒谱法在浊音段的基音周期估计上同样具有较高的准确性。
六、实验讨论1. 自相关法的优点在于计算简单,易于实现。
但它的缺点是对噪声敏感,容易受到干扰。
2. 倒谱法的优点在于对噪声具有一定的鲁棒性,能够较好地估计基音周期。
但其计算过程较为复杂,需要一定的计算资源。
3. 在实际应用中,可以根据具体需求选择合适的基音周期估计方法。
Matlab在基音周期检测教学中的应用研究
Matlab在基音周期检测教学中的应用研究我们需要了解一些基本的概念和原理。
基音周期指的是连续说话过程中声带振动的周期性,它对应于声道系统的特征,可以通过周期估计来获取。
常见的基音周期估计方法有自相关法、互相关法和短时傅立叶变换法等。
这些方法在Matlab中都可以很方便地实现。
对于自相关法,Matlab提供了xcorr函数来计算信号的自相关函数,然后可以通过寻找自相关函数的峰值来估计基音周期。
我们可以使用如下的代码来实现基音周期的自相关估计:```matlab[x, Fs] = audioread('音频文件名.wav');x = x(:,1); % 取一个声道R = xcorr(x); % 计算自相关函数[~,I] = max(R);T = I / Fs; % 基音周期```对于短时傅立叶变换法,Matlab提供了stft函数来计算短时傅立叶变换,然后可以通过寻找频谱的峰值来估计基音周期。
下面是一个使用短时傅立叶变换法进行基音周期估计的示例代码:使用这些基音周期估计方法,可以对语音信号进行周期性分析,进一步研究和应用各种语音处理算法。
我们可以通过基音周期检测来识别说话人的特征,从而实现说话人识别系统;我们也可以根据基音周期检测结果来实现语音转换,实现男声转女声、音乐转唱等效果。
Matlab在基音周期检测教学中具有重要的应用研究价值。
通过Matlab提供的强大的科学计算功能,我们可以方便地实现基音周期估计算法,并进行相关的研究和分析。
基音周期检测的研究不仅对语音信号处理具有重要意义,同时也可以为语音合成、说话人识别、语音转换等应用领域提供支持和指导。
基于MATLAB的自相关函数基音检测的优化
基于MATLAB的自相关函数基音检测的优化作者:王丽来源:《电脑知识与技术》2009年第36期摘要:基音是语音信号的一个重要参数,它是指发浊音时声带振动所引起的周期性。
基音的提取是语音处理中的重要任务。
目前对基音的检测方法有很多,典型的就有自相关法,AMDF(短时平均幅度差)法,倒谱法等等。
这里介绍一种自相关和倒谱相结合的算法,较传统的自相关法有一定的改进和优化。
关键词:自相关;倒谱;三电平中心削波中图分类号:TP391文献标识码:A文章编号:1009-3044(2009)36-10611-02The Autocorrelation Function based on MATLAB Optimization of Pitch DetectionWANG Li(Qinghai Normal University Physics Department Pronunciation and Image Laboratory, Xi'ning 810008, China)Abstract: Pitch is an important parameter of speech signals, which is when the hair dullness caused by the cyclical nature of vocal fold vibration. Pitch extraction is an important task of speech processing. Currently there are a lot of pitch detection methods, typically there is self-correlation method, AMDF (short-time average magnitude difference) method, cepstrum, etc. Here are a self-correlation and cepstrum combination of algorithms, the more traditional autocorrelation have some improvements.Key words: autocorrelation; cepstrum; the three-level center clipping基音是语音信号处理中的一个非常重要的参数。
基于MATLAB的自相关函数基音检测的优化
基于MATLAB的自相关函数基音检测的优化
王丽
【期刊名称】《电脑知识与技术》
【年(卷),期】2009(005)036
【摘要】基音是语音信号的一个重要参数,它是指发浊音时声带振动所引起的周期性.基音的提取是语音处理中的重要任务.目前对基音的检测方法有很多,典型的就有自相关法,AMDF(短时平均幅度差)法,倒谱法等等.这里介绍一种自相关和倒谱相结合的算法,较传统的自相关法有一定的改进和优化.
【总页数】2页(P10611-10612)
【作者】王丽
【作者单位】青海师范大学物理系语音与图像研究室,青海,西宁,810008
【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于Matlab的藏语语音基音检测算法研究 [J], 卓嘎;边巴旺堆
2.一种改进的自相关函数基音检测算法 [J], 杨森斌;陈砚圃;李真
3.基于MATLAB的基音检测分析 [J], 骆娇艳;孙祥娥
4.基于Matlab的语音信号自相关基音检测 [J], 付青青;吴爱平
5.提升小波加权自相关函数的基音检测算法 [J], 王晨;章小兵;刘美娟
因版权原因,仅展示原文概要,查看原文内容请购买。
基音周期检测ACF算法及MATLAB仿真
语音信号 ( ) n 的某帧信号的短时平均能量 的 定义为 :
收稿 日期 : 1 2 0—1 0 2—2 5
自相关 函数中产生一个 峰值 , 而当该 峰值又可以 同基 音频率的峰值相 比拟时 , 从而会 给基音值检测带来误
.
8 . 6
E = [ m x + ] ( ) ( m) =∑ ( ) m
一
就被称为一“ 。 帧” 一般要采用交叠分段 的方法 , 这是 为了使帧与帧之间平滑过渡 , 保持其连续性。前一帧
段具体的语音信号进行滤波、 采样、 分帧、 求短时 自
窗口长度的选择非常重要 , 窗长过短会使得分析窗内
相关函数 , 较准确地得到浊音语音信号的基音周期。
2 基 于 自相关 函数 的基音周 期 检测原 理
变化轨迹 曲线 , 或者是尽量相吻合 的轨迹 曲线。因为 它的重要性 , 基音的检测提取一直是一个研究 的课题。 为此提出了各种各样的基音检测算法 , 自相关 函数 如
工频的干扰 ; 高端截止频率设 为 90 z 0H 既可除去大部
能保留其一二次谐波。 2 2 分帧 .
分共振峰影响 , 又可 以当基音最高频率为 40 z 5 H 时仍
6 — 0 H 的带通滤波器对语音信号进行滤波 , 0 90 z 并利
用滤波后的 自相关函数来进行基音估计。将滤波器低
端截止频率设为 6 H , 0 z这是 因为可 以抑制 5 H 电源 0z
基音周期检测也称为基频检测 ( ihD t tn , P c e co ) t ei 它的目标是找出和声带振动频率完全一致 的基音周期
.
() 1
tm 0m 其 值 o ) ,:它 ( i
f ,m= 1 0一( 一1 Ⅳ )
基于Matlab的一种基音周期检测算法
基于Matlab的一种基音周期检测算法
宋建华;朱勇;徐军;张圣贤
【期刊名称】《信息技术》
【年(卷),期】2009(033)001
【摘要】在对自相关基音检测算法进行分析的基础上,对此算法进行了深入探讨,针对以往研究中存在的不足加以改进,考虑到检测准确度和检测速率两方面的因素,引入了三电平削波模块,设计了基于Matlab的估计方法,然后通过对一段具体的语音进行处理,得到了比较准确的浊音语音的基音周期.实验证明,该方法简单、有效.【总页数】5页(P50-54)
【作者】宋建华;朱勇;徐军;张圣贤
【作者单位】黑龙江大学电子工程学院,哈尔滨,150080;黑龙江大学电子工程学院,哈尔滨,150080;黑龙江大学电子工程学院,哈尔滨,150080;黑龙江大学电子工程学院,哈尔滨,150080
【正文语种】中文
【中图分类】TN912
【相关文献】
1.基于Hilbert-Huang变换基音周期检测算法 [J], 闫磊;李永红;杜力力
2.一种改进的正弦语音模型基音周期检测算法 [J], 孙华山
3.基于小波分解重构的基音周期检测算法 [J], 李娟
4.一种改进的抗噪基音周期检测算法 [J], 李娟;张雪英
5.基于小波变换与平均幅度差函数倒数的基音周期检测算法 [J], 武良丹;
因版权原因,仅展示原文概要,查看原文内容请购买。
基于MATLAB的基音检测分析
基于MATLAB 的基音检测分析骆娇艳,孙祥娥(长江大学电子信息学院,湖北荆州434000)摘要:基音检测作为语音信号处理的重要手段,被广泛地应用于语音的合成、编码及识别等一系列语音信号处理技术问题。
基音检测的准确性对于要求极高的语音识别、合成、分析、压缩编码等等都有重要的意义。
该文用自相关函数法、平均幅度差函数法和倒谱法这三种常用的基音检测方法,运用MATLAB 编程实现,对语音信号的基音周期轨迹图进行了比较分析,并由此得出和倒谱法进行语音信号基音的检测更为精确。
关键词:基音检测;MATLAB;自相关函数法;平均幅度差函数法;倒谱法中图分类号:TP311文献标识码:A文章编号:1009-3044(2014)18-4293-031 概述语音是人类相互之间进行信息交流的基本手段和重要载体,随着现代通信科学技术的迅速发展,尤其是计算机的日趋普及,对语音信号的处理发挥着越来越重要的作用。
汉语中的声调对于语音的理解很重要,同时相同的汉语在不同的语气或词义下均有不同的声调[1]。
因此,基音检测的准确性对于汉语语音信号的识别极为重要。
根据声带的震动情况,我们一般将语音信号分为清音和浊音两种[2]。
清音和普通的白噪声相似,尚未发现明显的规律性;而浊音就是俗称的有声语言,携带着语音的大部分能量,并且具有明显的周期性。
当人们在发出浊音的时候,气流往往会通过声门迫使声带产生规律性的震动,我们称之为激励脉冲串。
通过声带震动产生的频率被定义为:基音频率,同样地,就有了基音周期[3]。
通常所指的基音检测实际上就是一种对基音周期的估计,结果是希望能够找出与声带的振动频率相一致或较为吻合的轨迹曲线。
语音信号的处理包括四大类,分别为:语音合成、语音识别、语音编码以及语音识别[2]。
其中,准确提取语言信号参数对于整个的语音信号处理是至关重要的。
只有当某些可以表示语音信号本质特征的参数被准确地提出,这些参数才可以被利用进行有效的语音合成,语音识别以及语音的压缩解码处理,其中语音周期提取的准确性会直接影响到语音合成的真实性,因此在众多参数中就会显得尤为重要[4]。
语音实验报告3
太原理工大学现代科技学院数字语音处理课程实验报告专业班级通信14-4学号**********姓名杨蓉指导教师贾海蓉太原理工大学现代科技学院实验报告 实验名称 用修正的短时自相关检测语音的基音周期 同组人 专业班级 通信14-4 学号 2014101716 姓名 杨蓉 成绩 实验三:用修正的短时自相关检测语音的基音周期 一、实验目的 1、熟悉前一个实验程序以及中心削波的意义 2、用Matlab 实现用修正的短时自相关检测语音的基音周期。
3、分析修正的短时自相关在基音周期检测中的应用。
4、能够对程序进行重新编制。
二、实验原理 如果x(n)是一个周期为P 的信号,则其自相关函数也是周期为P 的信号,且在信号周期的整数倍处,自相关函数取最大值。
语音的浊音信号具有准周期性,其自相关函数在基音周期的整数倍处取最大值。
计算两相邻最大峰值间的距离,就可以估计出基音周期。
观察浊音信号的自相关函数图,其中真正反映基音周期的只是其中少数几个峰,而其余大多数峰都是由于声道的共振特性引起的。
因此为了突出反映基音周期的信息,同时压缩其他无关信息,减小运算量,有必要对语音信号进行适当预处理后再进行自相关计算以获得基音周期。
第一种方法是先对语音信号进行低通滤波,再进行自相关计算。
因为语音信号包含十分丰富的谐波分量,基音频率的范围分布在50~500Hz 左右,即使女高音升c 调最高也不会超过1kHz ,所以采用1kHz 的低通滤波器先对语音信号进行滤波,保留基音频率;再用2kHz 采样频率进行采样;最后用2~20ms 的滞后时间计算短时自相关,帧长取10~20ms ,即可估计出基音周期。
第二种方法是先对语音信号进行中心削波处理,再进行自相关计算。
本实验采用第二种方法。
且中心削波函数如式所示: 一般削波电平L x 取本帧语音最大幅度的60%~70%。
将削波后的序列f(x)用短时自相关函数估计基音周期,在基音周期位置的峰值更加尖锐,可以有效减少倍频或半频错误。
matlab在基音周期检测教学中的应用研究
本栏目责任编辑:王力计算机教学与教育信息化Matlab 在基音周期检测教学中的应用研究朱徐来(安徽建筑大学电子与信息工程学院,安徽合肥230039)摘要:基音周期是《语音信号处理》中的重点和难点,基音周期作为语音信号的重要参数,在语音编码、语音合成和语音识别等方面,有着非常重要的作用。
本文采用Matlab 对基因周期进行仿真分析,从仿真图上查看语音信号的基音周期,让学生更形象的理解语音信号的基音周期。
关键词:基音周期;语音编码;语音合成;语音识别;仿真中图分类号:G642文献标识码:A文章编号:1009-3044(2020)02-0188-02开放科学(资源服务)标识码(OSID):1概述语音信号是通信工程专业的一门必修课,其中基音周期是一个重要的知识点,对于基音周期的检测十分困难,处理复杂,且变化范围较大,不同的人群,他们的基音周期差别相当明显。
即使同一个人在不同环境下的基音周期也会有所不同,如何在教学中把语音信号的基音周期讲解清楚,让学生理解透彻,是该知识点讲解的难点。
本文采用Matlab 对基音周期进行仿真分析,从仿真图中很直观地看到基音周期,有利于把复杂的问题简单化。
2基音周期检测的难点2.1基音周期没有完全的周期性语音信号是随时间变化的信号,是非线性信号,在信号分析处理时进行短时加窗,近似为线性信号进行处理,而语音信号的产生采用二元激励的方式,即清音和浊音。
对于清音,没有明显的周期性;对于浊音,声门激励的波形并不是一个完全的周期序列,从而也就无法准确地计算基音周期[1,3,7]。
2.2声道的影响语音信号从声带部位产生到从口腔发出,经过声道的干扰,基音的周期性和共振峰的周期性会产生交叠现象,叠加后波形的峰值可能会与原来峰值相差较大,所以要从语音信号中去除声道的影响。
常见的方法有采用逆滤波器法[2]、同态分析法等。
或者直接取出仅与声带振动有关的声源信息,在声带部位直接取出语音信号,这也并非易事。
Matlab在基音周期检测教学中的应用研究
Matlab在基音周期检测教学中的应用研究摘要:基音周期检测是语音信号处理领域的重要研究方向,它在语音合成、语音识别和语音编解码等方面都起着重要作用。
本文结合Matlab工具,对基音周期检测的教学应用进行了探讨和研究,通过实例分析展示了Matlab在基音周期检测教学中的实际应用效果。
结果表明,利用Matlab进行基音周期检测教学能够提高学生的实际操作能力和理论知识应用能力,为学生在语音信号处理领域的学习提供了有效的教学工具和平台。
关键词:Matlab;基音周期检测;教学应用;语音信号处理引言语音信号处理是数字信号处理领域的一个重要分支,它涉及到语音信号的采集、处理、分析和合成等多个环节。
在语音信号处理中,基音周期检测是一个非常重要的技术,它能够准确地确定语音信号中的基音频率和周期,对语音合成、语音识别、声码器设计等方面都具有重要意义。
基音周期检测的教学应用具有重要的意义,能够帮助学生更好地理解和掌握这一技术。
一、基音周期检测原理及算法基音周期检测是指在语音信号中准确地确定基音周期的过程,它是语音信号分析中的一项重要任务。
基音周期检测的目的是找到语音信号中重复出现的周期性波形,从而确定语音信号的基音频率和周期。
基音周期检测可以应用于语音合成、语音识别、话者识别等多个领域。
基音周期检测的算法有很多种,常用的包括自相关法、互相关法、短时傅里叶变换法等。
自相关法是基音周期检测中最经典和常用的算法之一,它通过计算语音信号的自相关函数来确定基音周期。
具体地,自相关函数定义如下:R[k] = ∑(n=0 to N-1) x[n] * x[n-k]x[n]是语音信号的波形序列,N是语音信号的长度,k是自相关函数的延迟量。
通过计算自相关函数的峰值位置和幅值,可以确定语音信号的基音周期。
假设我们有一个语音信号的波形序列x[n],我们希望利用Matlab对其进行基音周期检测。
我们可以利用Matlab的信号处理工具箱中的自相关函数功能来计算语音信号的自相关函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab在基音周期检测教学中的应用研究
首先,Matlab可以通过波形显示功能直接显示被测语音信号的波形。
这为分析语音信号提供了便利。
其次,Matlab可以使用自带的基音周期检测函数(如“pitches.m”等)对语音信号进行基音周期检测。
该函数会自动计算语音中每个周期的长度,这对验证实验结果和进行声学参数分析非常有帮助。
在基音周期检测的实际应用中,Matlab还可以进行预处理工作,如语音信号的预加重和预降噪处理。
预加重的目的是在语音信号的传输过程中抵消高频信号的衰减,因而能够提升信号的质量。
预降噪则是在语音信号中去除噪音干扰,提高基音周期检测的准确性。
Matlab中的信号处理函数可以轻松地完成这些预处理操作。
除了基于自带函数的基音周期检测方法外,Matlab还可以使用更高级的算法进行基音周期检测。
例如,短时傅里叶变换(STFT)算法可以将整个语音信号分割成多个小段,并分别进行频谱分析,以便更精确地计算基音周期。
此外,自适应滤波算法、小波变换算法和神经网络算法等也被广泛应用于基音周期检测中。
这些算法的实现可以基于Matlab的信号处理工具箱等工具完成。
总之,Matlab在基音周期检测教学中具有重要的应用价值。
它不仅能够直接显示语音信号波形,而且能够快速计算基音周期,还支持多种预处理和高级算法。
这将有助于学生更好地理解语音处理算法的原理和应用,提高基音周期检测的准确性和实用性。