⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kwspot.h

📁 语音识别配套的VQ及DHMM模型训练程序(C语言)
💻 H
字号:

#if !defined(AFX_DHMM_MFC_H__4EAB5297_C3BD_4531_9887_9BB7F54248EE__INCLUDED_)
#define AFX_DHMM_MFC_H__4EAB5297_C3BD_4531_9887_9BB7F54248EE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//	定义l_VQ_Config的相关位
#define VQ_CONFIG_GENERATE_CODE_BOOK_MASK			0xF0000000L
#define VQ_CONFIG_LOAD_ONLY_CODE_BOOK				0x80000000L
#define VQ_CONFIG_TRAIN_ONLY_CODE_BOOK				0x40000000L

#define VQ_CONFIG_LOAD_ALL_FEATURE_METHOD_MASK		0x0F000000L
#define VQ_CONFIG_LOAD_TRAIN_SET_ONLY				0x08000000L
#define VQ_CONFIG_LOAD_ALL_FEATURE					0x04000000L

#define VQ_CONFIG_TRAIN_PROCEDURE_MASK				0x000000FFL
#define VQ_CONFIG_TRAIN_PROCEDURE_STD				0x00000000L
#define VQ_CONFIG_TRAIN_PROCEDURE_GL				0x00000001L
#define VQ_CONFIG_TRAIN_PROCEDURE_LHS				0x00000002L
#define VQ_CONFIG_TRAIN_PROCEDURE_HQ				0x00000003L
#define VQ_CONFIG_TRAIN_PROCEDURE_WP				0x00000004L

//	定义l_DHMM_Model_Config的相关位
#define MODEL_CONFIG_GENERATE_DHMM_MODEL_MASK		0xF0000000L
#define MODEL_CONFIG_TRAIN_WITH_SILENCE_MODEL		0x20000000L
#define MODEL_CONFIG_LOAD_WITH_SILENCE_MODEL		0x10000000L

#define MODEL_CONFIG_TRAIN_PROCEDURE_MASK			0x000000FFL
#define MODEL_CONFIG_TRAIN_PROCEDURE_STD			0x00000000L
#define MODEL_CONFIG_TRAIN_PROCEDURE_GL				0x00000001L
#define MODEL_CONFIG_TRAIN_PROCEDURE_LHS			0x00000002L
#define MODEL_CONFIG_TRAIN_PROCEDURE_HQ				0x00000003L
#define MODEL_CONFIG_TRAIN_PROCEDURE_WP				0x00000004L

//	定义l_DHMM_Recog_Config的相关位
#define RECOG_CONFIG_METHOD_MASK					0xF0000000L
#define RECOG_CONFIG_METHOD_VITERBI_ONLY			0x80000000L
#define RECOG_CONFIG_METHOD_FORWARD_BACKWARD_ONLY	0x40000000L

#define RECOG_CONFIG_DHMM_RECOG_TRAINSET			0x10000000L
#define RECOG_CONFIG_DHMM_RECOG_TESTSET				0x20000000L	

#define RECOG_CONFIG_RECOG_PROCEDURE_MASK			0x000000FFL
#define RECOG_CONFIG_RECOG_PROCEDURE_STD			0x00000000L
#define RECOG_CONFIG_RECOG_PROCEDURE_GL				0x00000001L
#define RECOG_CONFIG_RECOG_PROCEDURE_LHS			0x00000002L
#define RECOG_CONFIG_RECOG_PROCEDURE_HQ				0x00000003L
#define RECOG_CONFIG_RECOG_PROCEDURE_WP				0x00000004L

//	定义程序配置块,该数据结构有且仅有一个全局的实例
typedef struct tag_PRO_CONFIG {
	int n_Loop_Num;									//	程序主循环的次数
	int n_Rotate_Test_Num;							//	程序进行滚动测试的次数
	int n_DHMM_Model_Train_Set_Person_Num;			//	训练集的人数
	char sz_Program_Log_File_Name[256];				//	程序运行LOG文件名
	char sz_Result_File_Name[256];					//	程序Result文件名

	long l_Prgram_Start_Time;						//	记录程序的开始时间
	double d_Recognition_Accurate_Rate;				//	记录程序的识别率

	char sz_Feature_Origin_File_Name_Format[256];	//	特征文件名的格式
	int n_Feature_Person_Num;						//	语料库的人数
	int n_Feature_Sentence_Num;						//	每人的句子数
	int n_Sentence_Start_Index;						//  句子的开始序号
	int n_Feature_Dim;								//	特征的维数
	double d_Feature_DT_MFCC_Coefficient;			//	一阶MFCC差分的倍乘系数
	double d_Feature_DT_MFCC_Coefficient_Start;			//	一阶MFCC差分的倍乘系数
	int n_Feature_DT_MFCC_Start_Index;				//	一阶MFCC差分的维数开始
	int n_Feature_DT_MFCC_End_Index;				//	一阶MFCC差分的维数结束

	long l_VQ_Config;								//	VQ模块算法配置
	char sz_Toload_Code_Book_File_Name[256];		//	要读取的码书文件名
	char sz_Tmp_Code_Book_File_Name[256];			//	临时码书文件名
	char sz_Toload_Code_Book_File_fmt[256];			//	要读取的码书格式
	char sz_Tmp_Code_Book_File_fmt[256];			//	临时码书格式名
	char sz_Tmp_Code_Book_FIX_File_Name[256];			//	临时码书文件名
	int n_VQ_Code_Book_Size;						//	码书大小(码字个数)

	long l_DHMM_Model_Config;						//	Model模块算法配置
	char sz_Toload_DHMM_Model_File_Name[256];		//	要读取的模型文件名
	char sz_Tmp_DHMM_Model_File_Name[256];			//	临时模型文件名
	char sz_Toload_DHMM_Model_File_fmt[256];		//	要读取的模型格式
	int n_DHMM_Model_Num;							//	模型数目(词数)
	int n_DHMM_Model_State_Num;						//	模型状态数
	int n_DHMM_Model_Person_Start_Index;			//	训练集的起始人标号
	int n_DHMM_Model_Person_End_Index;				//	训练集的结束人标号

	long l_DHMM_Recog_Config;						//	Recog模块的算法配置
	long l_DHMM_Recog_Config_Set;					//  测试集合的配置

	char sz_Recog_Origin_File_Name_Format[256];		//	测试库的特征文件名格式
	int n_Recog_Sentence_Num;						//	测试库每人的句子数
	int n_Recog_Person_Num;							//	测试库的总人数
	int n_Recog_Set_Person_Num;						//	测试集的人数
	int n_Recog_Person_Start_Index;					//	测试集起始人标号
	int n_Recog_Person_End_Index;					//	测试集终止人标号

	char sz_Recog_LLS_File_fmt[256];				//  测试识别分数排列输出格式
	char sz_Recog_LLS_File[256];					//  测试识别分数输出文件

	int USE_SILENCE_FEA;							//  标示是否需要静音数据参与VQ码本的训练
	int WATCH_RECOG_RESULT;							//  标示是否需要输出各句识别分数到文件
} PRO_CONFIG;

#endif // !defined(AFX_DHMM_MFC_H__4EAB5297_C3BD_4531_9887_9BB7F54248EE__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -