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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? gen_gmm.cpp

?? 最全的ASR工具集合
?? CPP
字號(hào):
//########################################################################
//  
// A C++ class library for automatic speech recognition and 
// speaker recognition (identification and verification). 
//
// This class library is provided "as is" without any express 
// or implied warranty of any kind with respect to this software. 
// In particular the author shall not be liable for any direct, 
// indirect, special, incidental or consequential damages arising 
// in any way from use of the software.
//
//
// Author   : Jialong He,  Copyright (C), all rights reserved. 
// Date     : May, 1999. 
//
// Contact  : Jialong_He@bigfoot.com, Jialong_He@homemail.com
// Web Page : www.bigfoot.com/~Jialong_He
//########################################################################

//==========================================================================
//  This is a MATLAB mex file which generates Gaussian Mixture Model (GMM)
//  by the EM algorithm. Training parameters are given as a structure.
//
//  The main purpose is to demonstrate how to access SV_Lib from MATLAB.
//  
//  Author  :  Jialong He
//  Date    :  June 21, 1999
//==========================================================================
#include <stdlib.h>
#include <math.h>
#include "SV_Lib.h"

//==============================================================
// Interface to MATLAB must be in C, other parts can be in C++
//==============================================================
extern "C" {
#include "mex.h"

void mexFunction(int OutNum, mxArray *OutPnt[], int InNum, const mxArray *InPnt[]) {

	int PatNum, PatCnt;
	SV_Data *Data;

	double *pr, *pr1, **Mat, **Var, *Vec;
	const char *OName[] = {"MeanMat", "VariMat", "WgtVec"};
	int Cnt, M, N, Row, Col;
	int VecNum, Dim, Index;
	mxArray *pField, *pField1;

	//--------------------------------------
	// Check input
	//--------------------------------------
	if (InNum != 2 || OutNum != 1) {
		mexErrMsgTxt("Usages : Model = Gen_GMM(Data, M_Par)\n"); 
	}

	if (!mxIsClass(InPnt[0], "struct") || !mxIsClass(InPnt[1], "struct")) {
		mexErrMsgTxt("Both inputs must be a structure!\n"); 
	};

	PatNum = mxGetM(InPnt[0]) * mxGetN(InPnt[0]);  // total training patterns
	//-------------------------------------------
	// Check all patterns to make sure that they 
	// have same dimension.
	//-------------------------------------------
	pField	= mxGetField(InPnt[0], 0, "Mat");
    Dim		= mxGetN(pField);
	VecNum	= 0;
	for (PatCnt=0; PatCnt<PatNum; PatCnt++) {
		pField	= mxGetField(InPnt[0], PatCnt, "Mat");
		M		= mxGetM(pField);  
	    N		= mxGetN(pField);
		VecNum  += M;
		if (N != Dim) {
			mexErrMsgTxt("Inconsistent dimension in training patterns!\n"); 
		}
	}

	//----------------------------------------------
	// Convert training data: InPnt[0]
	// from MATLAB structure to SV_Data linked list.
	//----------------------------------------------
	Data = new SV_Data(VecNum, Dim);
	Data->Next = NULL;
	Index = 0;
	for (PatCnt=0; PatCnt<PatNum; PatCnt++) {
		pField	= mxGetField(InPnt[0], PatCnt, "Mat");
		M		= mxGetM(pField);  
	    N		= mxGetN(pField);
		pr		= mxGetPr(pField);

		for (Row=0; Row<M; Row++) {
			for (Col=0; Col<N; Col++) {
				Data->Mat[Index][Col] = float(pr[Row + Col*M]);		
			}
			Index++;
		}	
	}

	//----------------------------------------------
	// Create GMM object and set training parameters 
	//----------------------------------------------
	SV_Model_GMM GMM;
	GMM.Verbose    = 0;
	GMM.WithOrth   = 0;   // no orthogonal transform

	pField = mxGetField(InPnt[1], 0, "Size");  // Mixture Number
	if (pField) {
		GMM.Mixtures = int (mxGetScalar(pField));
	} else {GMM.Mixtures = 8;}

	pField = mxGetField(InPnt[1], 0, "MaxIter");  // Maximum Iteration
	if (pField) {
		GMM.MaxIter = int (mxGetScalar(pField));
	} else {GMM.MaxIter = 20;}

	pField = mxGetField(InPnt[1], 0, "RandSeed");  // Random Seed
	if (pField) {
		GMM.RandSeed = int (mxGetScalar(pField));
	} else {GMM.RandSeed = 1999;}

	mexPrintf("Generating Gaussian Mixture Model, please wait...\n"); 
	GMM.TrainModel(Data); // generate model

	//---------------------------------------------------
	// Create output structure
	//---------------------------------------------------
	OutPnt[0] = mxCreateStructMatrix(1, 1, 3, OName);

	M   = GMM.GetMixNum();
	N   = GMM.GetVecDim();

	pField  = mxCreateDoubleMatrix(M, N, mxREAL);
	pr      = mxGetPr(pField);
	
	pField1 = mxCreateDoubleMatrix(M, N, mxREAL);
	pr1     = mxGetPr(pField1);

	//------------------------------------------
	// Copy Mean and Vari to output structure
	//------------------------------------------
	Mat = GMM.GetMeanMat();
	Var = GMM.GetVariMat();
	for (Col=0; Col<N; Col++) {
		for (Row=0; Row<M; Row++) {
			pr[Row + Col*M]  = Mat[Row][Col];		
			pr1[Row + Col*M] = Var[Row][Col];		
		}
	}	
	mxSetField(OutPnt[0], 0, "MeanMat", pField);
	mxSetField(OutPnt[0], 0, "VariMat", pField1);

	//------------------------------------------
	// Copy Mixture Weight to output structure
	//------------------------------------------
	Vec = GMM.GetWgtVec();
	pField = mxCreateDoubleMatrix(M, 1, mxREAL);
	pr     = mxGetPr(pField);
	for (Row=0; Row<M; Row++) {
		pr[Row] = Vec[Row];		
	}	
	mxSetField(OutPnt[0], 0, "WgtVec", pField);

	delete Data;
	return;   
}

}    // extern "C" {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合视频在线观看| 亚洲视频资源在线| 青草国产精品久久久久久| 欧美高清视频一二三区| 91高清在线观看| 亚洲一区二区三区影院| 欧美高清视频一二三区 | 国产亚洲综合色| 国产高清精品网站| ㊣最新国产の精品bt伙计久久| 91蜜桃网址入口| 亚洲韩国精品一区| 精品国产乱子伦一区| 大胆欧美人体老妇| 亚洲一区二区三区国产| 欧美成人性战久久| 暴力调教一区二区三区| 亚洲成人精品一区二区| 久久综合999| 99r国产精品| 日韩成人av影视| 国产精品美女视频| 欧美三级欧美一级| 国产在线视视频有精品| 亚洲欧美日韩中文字幕一区二区三区| 欧美三级三级三级| 韩国精品主播一区二区在线观看| 中文字幕日韩一区二区| 91.com在线观看| bt欧美亚洲午夜电影天堂| 午夜精品在线看| 国产精品久久久久天堂| 欧美精品99久久久**| 成人a级免费电影| 天天综合色天天综合色h| 久久久久国产精品麻豆ai换脸| 色激情天天射综合网| 国产在线精品视频| 午夜天堂影视香蕉久久| 欧美激情一区二区三区在线| 欧美日韩国产免费| 99re在线视频这里只有精品| 美国十次综合导航| 亚洲综合偷拍欧美一区色| 久久欧美中文字幕| 欧美一区二区三区视频免费播放| av一区二区不卡| 日本中文字幕一区| 亚洲一区二区三区四区在线| 国产精品久久久久一区| 久久久久久9999| 欧美一区二区三区在线视频| 91国偷自产一区二区开放时间 | 午夜精品一区二区三区免费视频 | 国产精品丝袜91| 欧美大胆人体bbbb| 欧美日韩在线精品一区二区三区激情| 粉嫩在线一区二区三区视频| 麻豆freexxxx性91精品| 午夜久久久久久久久| 一区二区三区在线免费观看| 日本一区二区三区视频视频| 欧美mv日韩mv| 日韩丝袜美女视频| 正在播放亚洲一区| 欧美精品18+| 欧美精品高清视频| 精品视频在线看| 在线观看区一区二| 色婷婷一区二区三区四区| 成人av午夜电影| 盗摄精品av一区二区三区| 国产精品66部| 国产91清纯白嫩初高中在线观看| 精品在线免费视频| 韩国三级电影一区二区| 精品一区二区三区在线播放视频| 热久久一区二区| 欧美aⅴ一区二区三区视频| 日韩国产高清在线| 久久成人羞羞网站| 国内精品久久久久影院色| 国产原创一区二区| 国产一区二区三区免费观看| 韩国欧美国产一区| 国产乱码精品一品二品| 国产69精品久久777的优势| 粉嫩aⅴ一区二区三区四区五区| 国产高清一区日本| 9色porny自拍视频一区二区| 色综合天天综合色综合av | 日本精品一级二级| 欧美视频一区二区三区| 91麻豆精品国产| 日韩精品一区二区三区四区视频| 久久综合色一综合色88| 国产精品久久久久影院老司 | 国产精品网站在线观看| 国产精品第四页| 一区二区在线观看视频| 午夜国产不卡在线观看视频| 日韩精品免费专区| 国产在线日韩欧美| 91免费观看在线| 欧美日韩黄色影视| 精品福利一区二区三区 | 精品免费99久久| 国产亚洲一区二区三区在线观看| 国产精品久久久久一区二区三区| 亚洲最大的成人av| 黄色精品一二区| 日本高清不卡视频| 精品成人a区在线观看| 亚洲欧美日韩精品久久久久| 天堂在线一区二区| 成人免费高清在线观看| 欧美日韩亚洲不卡| 中文字幕精品在线不卡| 99re亚洲国产精品| 91精品国产色综合久久不卡电影| 精品盗摄一区二区三区| 一区二区三区美女| 国产乱一区二区| 欧美性大战久久| 日本一区二区高清| 日韩精品成人一区二区在线| 国产麻豆精品一区二区| 91久久精品一区二区二区| 亚洲精品一区二区在线观看| 亚洲影视在线观看| 福利电影一区二区三区| 日韩一区二区免费视频| 尤物视频一区二区| 国产电影精品久久禁18| 欧美日韩高清一区二区| 亚洲日本成人在线观看| 国产在线精品一区二区不卡了| 欧美午夜精品久久久久久超碰 | 懂色av一区二区夜夜嗨| 91麻豆精品国产91久久久资源速度 | 男女男精品网站| 成人avav影音| 91精品久久久久久蜜臀| 国产欧美一区二区精品久导航 | 久久精品国产99国产| 欧美亚洲综合网| 国产精品久久久久久久久快鸭| 久久精品国产精品青草| 在线播放日韩导航| 亚洲自拍偷拍网站| 91香蕉视频mp4| 久久久另类综合| 久久97超碰国产精品超碰| 欧美精品日韩综合在线| 亚洲一区二区三区在线看| 91免费在线播放| 中文字幕在线免费不卡| 懂色av一区二区三区蜜臀| 久久精品网站免费观看| 国产综合一区二区| 日韩成人午夜精品| 欧洲精品视频在线观看| 最近中文字幕一区二区三区| 国产福利精品一区二区| 久久久久久久一区| 国产风韵犹存在线视精品| 久久综合久久鬼色| 狠狠色丁香婷综合久久| 欧美成人伊人久久综合网| 久久99精品久久久| ww久久中文字幕| 国产成人高清在线| 亚洲国产成人午夜在线一区| 成人午夜电影久久影院| 国产精品久久精品日日| 91美女蜜桃在线| 亚洲国产中文字幕| 欧美精品一二三| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩欧美色电影| 国产在线精品一区二区夜色| 久久久久久久久97黄色工厂| 国产美女久久久久| 国产精品午夜免费| 欧美亚洲高清一区二区三区不卡| 亚洲福利国产精品| 精品少妇一区二区| 国产成人精品亚洲午夜麻豆| 亚洲欧洲日韩在线| 欧美欧美欧美欧美| 精品系列免费在线观看| 欧美国产97人人爽人人喊| 色婷婷精品大在线视频| 亚洲国产综合色| 精品国产人成亚洲区| 成人免费毛片嘿嘿连载视频| 亚洲一区二区三区在线播放| 日韩精品一区二区三区四区视频| 国产成人免费av在线| 亚洲午夜私人影院|