DAT_File_Access.h
资源名称:VQ-DHMM.rar [点击查看]
上传用户:avbj512
上传日期:2013-09-18
资源大小:6239k
文件大小:5k
源码类别:
DSP编程
开发平台:
Visual C++
- // 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_)