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

📄 dat_file_access.h

📁 语音识别配套的VQ及DHMM模型训练程序(C语言)
💻 H
字号:
//	DAT_File_Access.h:
//		Interface for the DAT_File_Access Module.
//
//	Created 2001/08, By DongMing, MDSR.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DAT_FILE_ACCESS_H__A8BF1D4D_BB55_4102_B427_19AEC6262356__INCLUDED_)
#define AFX_DAT_FILE_ACCESS_H__A8BF1D4D_BB55_4102_B427_19AEC6262356__INCLUDED_

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

#define DAT_FILE_VERSION			20010801L

//	定义sSampleType所用到数据类型
#define SAMPLE_DATA_TYPE_CHAR		1
#define SAMPLE_DATA_TYPE_SHORT		2
#define SAMPLE_DATA_TYPE_LONG		3
#define SAMPLE_DATA_TYPE_FLOAT		4
#define SAMPLE_DATA_TYPE_DOUBLE		5

//	定义.DAT格式的特征文件文件头
typedef struct tag_FEATURE_FILE_HEAD
{
	long		lVersion;				//	版本号,本次为 20010801
	char		szName[15];       		//	姓名
	char		szSex[4];         		//	性别
	char		szAge[15];				//	年龄
	char 		szHomeTown[30];  		//	方言类型,例如"上海普通话"
	char		szDate[24]; 			//	日期
	char		szGroup[10];			//	00 组别 
	short		sSentenceNum;			//	句子数
	long		lSampleRate;			//	采样率
	char		szParameterType[10];	//	参数类型(MFCC)
	short		sSampleType;			//	数据类型(1=char;2=short;3=long;4=float;5=double) 
	short		sFeatureOrder;			//	特征维数
	char		szReservation[76];		//	保留位
	short		sSentenceNum2;			//	198-199, Sentence Number
} FEATURE_FILE_HEAD;

//	定义.DAT格式的码书文件文件头
typedef struct tag_CODE_BOOK_FILE_HEAD
{
	long		lVersion;				//	版本号		本次为20010801
	char		szName[15];       		//	姓名		固定填写"CodeBook"
	char		szSex[4];         		//	性别		(未用域)
	char		szAge[15];				//	年龄		(未用域)
	char 		szHomeTown[30];  		//	方言类型	(未用域)
	char		szDate[24]; 			//	日期		(未用域)
	char		szGroup[10];			//	00 组别		(未用域)
	short		sCodeBookNum;			//	码书本数	该文件中存储码书的本数
	long		lSampleRate;			//	采样率		(未用域)
	char		szParameterType[10];	//	参数类型	固定填写"CodeBook"
	short		sSampleType;			//	数据类型	(1=char;2=short;3=long;4=float;5=double) 
	short		sFeatureOrder;			//	特征维数	比如24
	short		sCodeBookSize;			//	码书大小	码书中的码字个数,比如128
	char		szReservation[74];		//	保留位		填补空缺,使得文件头定长200字节
	short		sCodeBookNum2;			//	198-199		= sCodeBookNum, 码书的本数
} CODE_BOOK_FILE_HEAD;

//	定义.DAT格式的DHMM模型文件文件头
typedef struct tag_DHMM_MODEL_FILE_HEAD
{
	long		lVersion;				//	版本号		本次为 20010801
	char		szName[15];       		//	姓名		固定填写"DHMM_Model"
	char		szSex[4];         		//	性别		(未用域)
	char		szAge[15];				//	年龄		(未用域)
	char 		szHomeTown[30];  		//	方言类型	(未用域)
	char		szDate[24]; 			//	日期		(未用域)
	char		szGroup[10];			//	00 组别		(未用域)
	short		sDHMM_Model_Num;		//	模型个数	与词数对应,比如11
	long		lSampleRate;			//	采样率		(未用域)
	char		szParameterType[10];	//	参数类型	固定填写"DHMM_Model"
	short		sSampleType;			//	数据类型	(1=char;2=short;3=long;4=float;5=double) 
	short		sModelStateNum;			//	模型状态数	比如6
	short		sCodeBookSize;			//	码书大小	码书中的码字个数,比如128
	char		szReservation[74];		//	保留位		填补空缺,使得文件头定长200字节
	short		sDHMM_Model_Num2;		//	198-199		= sDHMM_Model_Num, 与词数对应
} DHMM_MODEL_FILE_HEAD;

//	定义句子索引块
typedef struct tag_SENTENCE_INDEX_BLOCK {
	long	Offset;			//	词条距离文件开始处的偏移
	long	FrameAmount;	//	词条所包含总的帧数
} SENTENCE_INDEX_BLOCK;

//	函数功能:从.DAT格式的Feature文件读入文件头信息
int dfa_Feature_Get_File_Info(char * sz_Feature_File_Name, FEATURE_FILE_HEAD * pu_Feature_File_Head);
//	函数功能:读出.DAT格式的Feature文件中的前若干句子的总帧数
int dfa_Feature_Get_File_Total_Frame_Num(char * sz_Feature_File_Name, int n_Sentence_Num);
//	函数功能:读出.DAT格式的Feature文件中的指定若干句子的总帧数
int dfa_Feature_Get_File_Total_Frame_Num(char * sz_Feature_File_Name, int n_Sentence_Num, int n_Sentence_Start_Index);
//	函数功能:读出.DAT格式的Silence文件中的指定若干静音的总帧数
int dfa_Feature_Get_Silence_Total_Frame_Num(char * sz_Feature_File_Name, int n_Sentence_Num, int n_Sentence_Start_Index);

//	函数功能:读出.DAT格式的Feature文件中的某个句子的帧数
int dfa_Feature_Get_Sentence_Frame_Num(char * sz_Feature_File_Name, int n_Sentence_Index);
//	函数功能:读出.DAT格式的Feature文件中的某个Silence的帧数
int dfa_Feature_Get_Silence_Frame_Num(char * sz_Feature_File_Name, int n_Sentence_Index);
//	函数功能:读出.DAT格式的Feature文件中的某个句子的特征
int dfa_Feature_Read_A_Sentence(char * sz_Feature_File_Name, int n_Sentence_Index, int n_Feature_Dim, DYNA_2DIM_DOUBLE_ARRAY d2dda);
//	函数功能:读出.DAT格式的Feature文件中的某个句子的静音部分特征
int dfa_Feature_Read_A_Silence(char * sz_Feature_File_Name, int n_Sentence_Index, int n_Feature_Dim, DYNA_2DIM_DOUBLE_ARRAY d2dda);

#endif // !defined(AFX_DAT_FILE_ACCESS_H__A8BF1D4D_BB55_4102_B427_19AEC6262356__INCLUDED_)

⌨️ 快捷键说明

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