-
大小: 10KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-28
- 語言: C/C++
- 標(biāo)簽:
資源簡介
基于GMM的說話人識別(C代碼),其中包括了GMM.C和MFCC.C,以及它們的頭文件。

代碼片段和文件信息
/**?@file
********************************************************************************
模塊名:?高斯混合模型過程
文件名:?gmm.c
相關(guān)文件:?gmm.h
文件實現(xiàn)功能:?高斯混合模型過程相關(guān)函數(shù)的實現(xiàn)
作者:?Dake
版本:?V2010.09.01
編程方式:?ANSI?C語言編程
授權(quán)方式:?Copyright(C)?Dake
聯(lián)系方式:?chen423@yeah.net
生成日期:?2010-07-05
--------------------------------------------------------------------------------
多線程安全性:?<是/否>[,說明]
異常時安全性:?<是/否>[,說明]
--------------------------------------------------------------------------------
備注:?高斯混合模型:GMM={p[i]?u[i][D]?cMatrix[i][D]},i=0...M-1
--------------------------------------------------------------------------------
修改記錄:
日?期????????版本?????修改人??????????????修改內(nèi)容
YYYY/MM/DD???X.Y??????<作者或修改者名>????<修改內(nèi)容>
*******************************************************************************/
#include?
#include?
#include?
#include?
#include?“gmm.h“
#include?“cluster.h“
#define?DIFF_GMM_VALUE?????1??????????????//!#define?IDENTIFY_VALUE????(-30000)????????//!//#define?IDENTITY_frame_NUM?100???????????//!
static?double?getDistance(double?*?p1?double?*?p2);
static?BOOL?InitGMM(double?**?X?GMM?*?pGMM?int?train_frame_num?int?m);?//?初始化GMM參數(shù)
static?BOOL?BuildGMM(GMM?*?pGMM?GMM?*?Out?double?**?X?int?train_frame_num?int?m);
static?double?GMM_diff(GMM?*?gmm1?GMM?*?gmm2);
static?double?GMM_density(GMM?*?pGMM?double?*?X?int?index);?//?高斯密度函數(shù)
/**?@function
********************************************************************************
函數(shù)名:?InitGMMClass()
功能:?初始化GMM結(jié)構(gòu)
用法:?由GMM結(jié)構(gòu)的f_init調(diào)用
參數(shù):
[OUT]?pGMM:?GMM結(jié)構(gòu)指針
[IN]?m:?GMM的高期混合數(shù)
返回:?
調(diào)用:
*******************************************************************************/
void?InitGMMClass(GMM?*?pGMM?int?m)
{
pGMM->m?=?m;
pGMM->p?=?NULL;
pGMM->u?=?NULL;
pGMM->cMatrix?=?NULL;
pGMM->f_CallocGMM?=?CallocGMM;
pGMM->f_FreeGMM?=?FreeGMM;
}
/**?@function
********************************************************************************
函數(shù)名:?CallocGMM()
功能:?為GMM結(jié)構(gòu)內(nèi)的指針分配內(nèi)存
用法:?由GMM結(jié)構(gòu)的f_CallocGMM調(diào)用
參數(shù):
[OUT]?pGMM:?GMM結(jié)構(gòu)指針
返回:?
調(diào)用:
*******************************************************************************/
void?*?CallocGMM(GMM?*?pGMM)
{
int?i;
int?m?=?pGMM->m;
pGMM->p?=?(double?*)calloc(m?sizeof(double));
if?(!pGMM->p)
{
return?NULL;
}
pGMM->u?=?(double?**)malloc(m?*?sizeof(double?*));
if?(!pGMM->u)
{
free(pGMM->p);
return?NULL;
}
pGMM->cMatrix?=?(double?**)malloc(m?*?sizeof(double?*));
if?(!pGMM->cMatrix)
{
free(pGMM->p);
free(pGMM->u);
return?NULL;
}
for?(i?=?0;?i? {
pGMM->u[i]?=?(double?*)calloc(D?sizeof(double));?
if?(!pGMM->u[i])
{
for(--i;?i?>=0?;?--i)
{
free(pGMM->u[i]);
free(pGMM->cMatrix[i]);
}
free(pGMM->p);
free(pGMM->u);
free(pGMM->cMatrix);
return?NULL;
}
pGMM->cMatrix[i]?=?(double?*)calloc(D?sizeof(double));
if?(!pGMM->cMatr
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????14131??2011-11-29?08:09??基于GMM的說話人識別(C代碼)\gmm.c
?????文件???????1988??2011-11-29?08:09??基于GMM的說話人識別(C代碼)\gmm.h
?????文件??????14763??2011-11-29?08:09??基于GMM的說話人識別(C代碼)\mfcc.c
?????文件???????1804??2011-11-29?08:09??基于GMM的說話人識別(C代碼)\mfcc.h
?????目錄??????????0??2015-01-12?16:28??基于GMM的說話人識別(C代碼)
-----------?---------??----------?-----??----
????????????????32686????????????????????5
- 上一篇:nurbs的c語言代碼
- 下一篇:車牌識別C++實現(xiàn)
評論
共有 條評論