亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? endpoint_xhg.cpp

?? MFCC特征提取算法以及語音端點檢測源碼
?? CPP
字號:
#include <math.h>

#include "cst_lib.h"
#include "basop.h"
#include "EndPoint_xhg.h"



/*=====================================================
函數名稱:	EndPointDetection
函數功能:	端點檢測
輸入參數:	EnergyArray		Frame_Num長的數組,存儲每一個Frame的能量
			fRatioFreq		存儲每一個Frame的低頻域對數能量。
			nZeroPassArray	存儲每一個Frame的過零次數。
			Frame_Num		總的幀數
			Energy_Th		噪聲能量門限
輸出參數:	nStartFrame		返回檢測的起始端點
			nEndFrame		返回終止端點。

備注:		
基本思路:	根據觀察數據, 元音段的過零率一般都要小于30, 而噪聲的過零率一般都要小于100
			另外的兩個特征都比較的穩健, 一般來說, 起伏不大
			//	由于對于孤立詞, 不同的句子, 存在著一些比較異常的情況, 
			//  如從句子的開始就是語音, 或者是句子的托尾比較長, 直到句子末尾
			//	這樣靠前后幀的能量作為端點就不太穩定, 而用很多句話自適應出來的能量
			//	門限如果各種話的背景不太一樣, 那么這樣的能量門限也是不可靠的
			//  所以根據低頻能量的想法, 把總的能量也進行最大值的歸一化, 其實實驗發現這樣也不行, 

====================================================*/
void	EndPointDetection(float *EnergyArray, short *nZeroPassArray, float *fRatioFreq, short Frame_Num, short &nStartFrame, short &nEndFrame, float Energy_Th)
{
	short	nCrudeStart, nCrudeEnd;				//粗略的起點和終點
	short	Wait_Duration = 0;					//統計計數用變量
	short	Wait_Duration1= 0;					//統計計數用變量
	short	wFrameCount;						//循環計數變量
	float	EnergyThreshUsed;					//可以調節的門限

	/**********************************************************
	<------------------粗判
	**********************************************************/
	EnergyThreshUsed =Energy_Th + 1.3f ; //由于Energy_Th是對數能量, 相對于能量域, 相當于Energy_Th * 27
	
	//確定元音段, 從第0幀開始
	for(wFrameCount=0; wFrameCount<Frame_Num; wFrameCount++)
	{
		//同時用過零率, 區段頻域能量, 總的能量作為判斷條件
		//可以先找到元音段, 如果針對漢語來做的話, 肯定是有元音段的, 
		if( (fRatioFreq[wFrameCount]>-4) && (nZeroPassArray[wFrameCount]<70) && (EnergyArray[wFrameCount]>EnergyThreshUsed))
		{
			Wait_Duration++;
			//如果連續有3幀滿足條件, 即認為找到起始點
			if (Wait_Duration > 3)
				break;
		}
		else
			Wait_Duration = 0;
	}
	nCrudeStart = wFrameCount - 3;

	//如果在上述條件下沒有找到起始幀nCrudeStart, 即端點的搜索已經到了最后一幀,則放寬條件
	if(wFrameCount == Frame_Num)  
	{
		Wait_Duration = 0;
		for (wFrameCount=0; wFrameCount<Frame_Num; wFrameCount++)
		{
			//此時僅僅用能量作為判斷條件
			//相當于最大能量的0.135
			if (EnergyArray[wFrameCount] > (EnergyThreshUsed + 1 ))
			{
				Wait_Duration++;
				//如果連續有4幀滿足條件, 即認為找到起始點
				if (Wait_Duration> 4)
					break;
			}
			else
				Wait_Duration = 0;
		}
		nCrudeStart = wFrameCount - 4;
	}

	//從語音的尾部, 倒數第4幀開始找結束幀nCrudeEnd
	Wait_Duration = 0;
	for (wFrameCount=Frame_Num-4; wFrameCount>nCrudeStart; wFrameCount--)
	{
		//同時用低頻能量, 和總的能量作為條件, 過零率作為條件搜尋元音段, 即過零率<40
		if ((fRatioFreq[wFrameCount]>-4) && (EnergyArray[wFrameCount]>EnergyThreshUsed) && (nZeroPassArray[wFrameCount]<70))
		{
			Wait_Duration++;
			if (Wait_Duration> 2)
				break;
		}
		else
			Wait_Duration = 0;
	}
	nCrudeEnd = wFrameCount + 2;

	//如果在上述條件下沒有找到結束幀nCrudeEnd, 則放寬條件
	if (wFrameCount == nCrudeStart)  
	{
		Wait_Duration = 0;
		for (wFrameCount=Frame_Num-1; wFrameCount>nCrudeStart; wFrameCount--)
		{
			//僅僅用能量作為標準來判斷
			if (EnergyArray[wFrameCount] > (EnergyThreshUsed + 1))
			{
				Wait_Duration++;
				if (Wait_Duration > 2)
					break;
			}
			else
				Wait_Duration = 0;
		}
		nCrudeEnd = wFrameCount + 2;
	}

	//如果起始幀和結束幀的距離太小, 則將起始幀設為4, 結束幀設為最后一幀, 交給下一級
	if (nCrudeEnd - nCrudeStart < 2)
	{
		nCrudeStart = 4;
		nCrudeEnd = Frame_Num - 1;
	}
/***********************************************************
			細判
***********************************************************/
	//尋找結束幀, 從粗判的結束幀開始向后找靜音段, 因為在
	//孤立詞識別中, 它是必然會有一個結束幀的, 所有應該存在一定的靜音段
	//通過數據發現, 過零率作為一個特征, 在找結束幀時, 不穩定, 不好用
	//EnergyThreshUsed = Energy_Th * 5
	EnergyThreshUsed = Energy_Th + 1.3f;
	Wait_Duration = 0;
	for (wFrameCount = nCrudeEnd; wFrameCount < Frame_Num; wFrameCount++)
	{
		//判斷過零率, 如果過零率>100, 則認為是輕音, 而不是靜音
		if((nZeroPassArray[wFrameCount] < 100) && ((EnergyArray[wFrameCount]<EnergyThreshUsed + 0.5) || (fRatioFreq[wFrameCount]<-4.5)))
		{
			if(EnergyArray[wFrameCount] < (EnergyThreshUsed))	//Energy_Th * 6
				Wait_Duration++;
			else
				Wait_Duration = 0;
			if(fRatioFreq[wFrameCount] < -5.1)
				Wait_Duration1++;
			else
				Wait_Duration1 = 0;
			if ((Wait_Duration > 2) || (Wait_Duration1 >2))
				break;
		}
		else
		{
			Wait_Duration = 0;
			Wait_Duration1 = 0;
		}
	}
	nEndFrame = wFrameCount - 2;

	//尋找起始幀, 從粗判的起始幀往前找
	Wait_Duration = 0;
	Wait_Duration1 = 0;
	for (wFrameCount = nCrudeStart; wFrameCount >= 0; wFrameCount--)
	{
		if((nZeroPassArray[wFrameCount] < 100) && ((EnergyArray[wFrameCount]<EnergyThreshUsed + 0.5) || (fRatioFreq[wFrameCount]<-4.5)))
		{
			if(EnergyArray[wFrameCount] < (EnergyThreshUsed))	//Energy_Th * 6
				Wait_Duration++;
			else
				Wait_Duration = 0;
			if(fRatioFreq[wFrameCount] < -5.0)
				Wait_Duration1++;
			else
				Wait_Duration1 = 0;
			if ((Wait_Duration > 2) || (Wait_Duration1 >2))
				break;
		}
		else
		{
			Wait_Duration = 0;
			Wait_Duration1 = 0;
		}
	}
	nStartFrame = wFrameCount + 2;

	if (nStartFrame < 4)              
		nStartFrame = 4;
	if (nEndFrame > Frame_Num - 4)
		nEndFrame = Frame_Num - 4;

	//如果有聲段太短, 則端點檢測失敗, 將整個語音交給下一級
	if ((nEndFrame - nStartFrame) < 5)        
	{
		nEndFrame = Frame_Num - 4;
		nStartFrame = 4;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
92精品国产成人观看免费| 麻豆视频一区二区| 国产日本欧洲亚洲| 日韩久久久久久| 日韩亚洲欧美综合| 欧美一级视频精品观看| 欧美一级片在线| 欧美mv日韩mv| 久久天堂av综合合色蜜桃网| 2021久久国产精品不只是精品| 日韩视频免费观看高清完整版| 日韩欧美国产一区在线观看| 日韩欧美激情四射| 久久精品人人做人人爽人人| 国产目拍亚洲精品99久久精品| 国产午夜精品久久久久久久| 久久精品人人爽人人爽| 国产精品日产欧美久久久久| 亚洲欧美经典视频| 亚洲一区二区三区四区在线观看 | 欧美日韩精品是欧美日韩精品| 成人免费不卡视频| 97久久精品人人爽人人爽蜜臀| 一本色道久久综合狠狠躁的推荐 | 91超碰这里只有精品国产| 在线成人高清不卡| 精品国产髙清在线看国产毛片 | 中文av字幕一区| 亚洲精品免费在线| 日本成人在线不卡视频| 国产精品亚洲第一区在线暖暖韩国| 国产999精品久久| 欧亚洲嫩模精品一区三区| 4438x亚洲最大成人网| 久久老女人爱爱| 一区二区三区免费看视频| 青青草国产精品97视觉盛宴| 国产在线观看一区二区| 欧美亚洲国产一区二区三区| 精品国免费一区二区三区| 国产精品嫩草影院com| 亚洲成人av福利| 国产精品1区二区.| 精品视频123区在线观看| 久久久夜色精品亚洲| 亚洲一区二区三区四区在线观看 | 亚洲成av人**亚洲成av**| 韩国v欧美v日本v亚洲v| 欧美中文字幕一二三区视频| 久久久久久麻豆| 视频一区视频二区中文字幕| jlzzjlzz亚洲女人18| 日韩欧美一级二级三级 | 色噜噜狠狠成人中文综合| 日韩美女在线视频| 亚洲一区二区三区四区的| 国产不卡一区视频| 日韩欧美国产精品一区| 午夜成人免费电影| 一本大道av一区二区在线播放| 久久女同精品一区二区| 日韩av网站在线观看| 日本高清成人免费播放| 中文字幕不卡一区| 国产精品18久久久久久久久久久久 | 欧美精品久久久久久久多人混战 | 久久精品国产网站| 欧美视频精品在线观看| 亚洲欧洲成人精品av97| 国产福利视频一区二区三区| 一区在线观看免费| 国产高清在线观看免费不卡| 日韩欧美一级精品久久| 免费观看在线综合| 91精品国产aⅴ一区二区| 亚洲国产精品久久久男人的天堂| 97se亚洲国产综合自在线观| 国产精品乱子久久久久| 国产宾馆实践打屁股91| 国产天堂亚洲国产碰碰| 国产一区二区在线视频| 久久久99免费| 粉嫩av一区二区三区粉嫩| 欧美激情中文字幕一区二区| 国产精品一区二区三区网站| 久久婷婷国产综合精品青草| 国产成人av一区| ●精品国产综合乱码久久久久| 成人av网站免费| 亚洲欧美激情小说另类| 欧美亚洲禁片免费| 日本在线不卡一区| 精品88久久久久88久久久| 国产老妇另类xxxxx| 中文字幕精品一区二区精品绿巨人 | 精品av综合导航| 福利一区在线观看| 1000精品久久久久久久久| 在线观看免费成人| 日本色综合中文字幕| 精品欧美乱码久久久久久1区2区| 国内精品写真在线观看| 中文av字幕一区| 精品视频资源站| 精品无人区卡一卡二卡三乱码免费卡| 久久亚洲捆绑美女| 91麻豆免费观看| 午夜精品久久久久久久99樱桃 | 美女脱光内衣内裤视频久久影院| 日韩欧美亚洲国产另类 | ...中文天堂在线一区| 欧美艳星brazzers| 激情都市一区二区| 亚洲精品日韩专区silk| 欧美一区二区久久久| 粉嫩13p一区二区三区| 亚洲无线码一区二区三区| 欧美精品一区二区三区很污很色的| 国产久卡久卡久卡久卡视频精品| 亚洲久草在线视频| 精品国产自在久精品国产| 91理论电影在线观看| 久久不见久久见免费视频7 | 在线免费观看日本一区| 麻豆精品久久精品色综合| 中文字幕一区二区三区蜜月| 精品国产一区二区精华| 欧美在线不卡一区| 国产福利91精品| 午夜av电影一区| 中文字幕亚洲不卡| 久久久精品影视| 日韩一区二区三区观看| 91论坛在线播放| 成人福利视频在线看| 国产综合色精品一区二区三区| 亚洲综合久久久| 亚洲色图欧洲色图婷婷| 中文字幕精品一区| 久久欧美一区二区| 欧美videos中文字幕| 欧美日本高清视频在线观看| aaa亚洲精品| 国产成人久久精品77777最新版本| 奇米一区二区三区| 亚洲v中文字幕| 亚洲国产日韩精品| 亚洲电影视频在线| 亚洲国产一二三| 亚洲猫色日本管| 亚洲精品老司机| 一区二区日韩电影| 一区二区三区影院| 亚洲蜜臀av乱码久久精品蜜桃| 中文字幕在线视频一区| 中文字幕av一区二区三区高| 精品国产乱子伦一区| 日韩一区二区三区四区| 欧美xxxxxxxx| 国产欧美日韩麻豆91| 国产日产欧美一区二区三区 | 国产精品三级av在线播放| 国产亚洲成aⅴ人片在线观看| 亚洲精品一区二区精华| 国产亚洲婷婷免费| 欧美激情在线一区二区三区| 国产精品美女久久久久久久久 | 欧美日韩在线免费视频| 91福利在线免费观看| 欧美三级午夜理伦三级中视频| 欧美日韩一级二级三级| 日韩一区二区三区av| 26uuu久久综合| 日本一区二区综合亚洲| 18涩涩午夜精品.www| 性久久久久久久久| 久久草av在线| 99在线热播精品免费| 在线观看不卡一区| 日韩免费看的电影| 亚洲国产成人在线| 亚洲一区二区三区激情| 蜜臀久久久久久久| 成人一二三区视频| 精品视频一区二区三区免费| 日韩一区和二区| 国产精品久久久久婷婷二区次| 樱花草国产18久久久久| 蜜桃av一区二区| 99热在这里有精品免费| 91麻豆精品久久久久蜜臀| 久久久久久久久久久电影| 亚洲欧美区自拍先锋| 日本sm残虐另类| 成人黄色国产精品网站大全在线免费观看 | 日韩欧美在线123| 国产精品美女一区二区在线观看| 亚洲成av人片在线观看无码| 韩国v欧美v亚洲v日本v| 欧美日韩一区国产|