科技广场2007.922
extra[y, fs, nbits]=wavread(waveFile);y=y*2^nbits/2;
% waveReadInt: Same as wavread, but return inte-ger value of y
% Usage: [y, fs, nbits]=wavReadInt(waveFile)
% If nbits=8, then -128<=y<=127
% If nbits=16, then -32768<=y<=32767
waveFile='lcq.wav'; frameSize=256; overlap=128;
[y, fs, nbits]=wavReadInt(waveFile);
fprintf('Length of %s is %g sec.\n', waveFile,length(y)/fs);
candy store
frameMat=buffer(y, frameSize, overlap);
frameNum=size(frameMat, 2);volume1=zeros(frameNum,1);
lodgevolume2=zeros(frameNum, 1);
for i=1:frameNum
frame=frameMat(:,i);
frame=frame-mean(frame);
% zero-justified
volume1(i)=sum(abs(frame));
% method 1
volume2(i)=10*log10(sum(frame.^2));
% method 2
end
time=(1:length(y))/fs;
frameTime=((0:frameNum-1)*(frameSize-overlap)+0.5*frameSize)/fs;
subplot(3,1,1); plot(time, y); ylabel(waveFile);
subplot(3,1,2); plot(frameTime, volume1, '.-');
ylabel('Volume (Abs. sum)');
yizhisubplot(3,1,3); plot(frameTime, volume2, '.-');
ylabel('Volume (Decibels)');
xlabel('Time (sec)');
图一两种短时能量分析结果
2.1.2短时过零率分析
奥斯卡2015过零就是信号通过零值。对于连续语音信号,可以考察其时域波形通过时间轴的情况。对于离散时间信号,如果相邻的取样值改变符号则称为过零。由此可以计算过零数,过零数就是样本改变符号的次数。单位时间内的过零数称为平均过零数。语音信号x(n)的短时平均过零数定义为: Zn=S{abs{sgn[x(n)]-sgn[x(n-1)]}.w(n-m)}。短时过零分析通常用在端点侦测,特别是用来估计清音的起始位置和结束位置。
下面给出了计算过零率两种方式的MATLAB代码,图二显示了分析结果。
waveFile='lcq';frameSize=256;overlap=0;
[y, fs, nbits]=wavReadInt(waveFile);frameMat=buffer(y, frameSize, overlap);
zcr1=sum(frameMat(1:end-1, :).*frameMat(2:end, :)<0);% Method 1
zcr2=sum(frameMat(1:end-1, :).*frameMat(2:end, :)<=0);% Method 2
time=(1:length(y))/fs;frameNum=size(frameMat, 2);
frameTime=((0:frameNum-1)*(frameSize-overlap)+0.5*frameSize)/fs;
subplot(2,1,1); plot(time, y); ylabel(waveFile);
subplot(2,1,2); plot(frameTime, zcr1, '.-',frameTime, zcr2, '.-');
title('ZCR'); xlabel('Time (sec)');legend('Method1', 'Method 2');
图二两种短时零率分析结果
从图二可以清楚得看出,清音的过零率要大于浊音的过零率。
status是什么意思
2.1.3基音的估计
浊音信号的周期称为基音周期,它是声带振动频率的倒数,基音周期的估计称为基音检测。基音检测是语音处理中的一项重要技术,它在有调语音辨意、低速率语音编码、说话人识别等方面起着非常关键的作用。但在实现过程中,由于声门激励波形不是一个完全的周期脉冲串,再加上声道影响去除不易、基音周期定位困难、背景噪声影响强烈等一系列因素,基音检测面临着很大的困难。现在已有很多性能优越的基音检测算法,自相关基因检测算法就是一种基于语音时域分析理论较好的算法[6]。在这里基于声音文件比较稳定的基础上,使用观察法获取基音周期,下面给出了实现代码,图三给出了直观的结果。
waveFile='lcq01.wav';[y, fs, nbits]=wavread(waveFile);
index1=11000;frameSize=256;index2=index1+frameSize-1;
frame=y(index1:index2); subplot(2,1,1); plot(y);
huangs
grid on title(waveFile); line(index1*[1 1], [-11], 'color', 'r');
line(index2*[1 1], [-1 1], 'color', 'r'); subplot(2,1,2); plot(frame, '.-');
grid on point=[7, 189];
2.2频域分析
短时傅立叶分析
在运用离散时间傅立叶变换分析语音信号的变化时,
小学pep英语
英语四级作文模板
会
基
toxic什么意思于MATLAB
的
语
音
信
号
时
频
域
参
数
分
析
23
科技广场2007.924