/** * @file qise.h * @brief iFLY Speech Evaluation Header File * * This file contains the quick application programming interface (API) declarations * of evaluation. Developer can include this file in your project to build applications. * For more information, please read the developer guide. * Use of this software is subject to certain restrictions and limitations set * forth in a license agreement entered into between iFLYTEK, Co,LTD. * and the licensee of this software. Please refer to the license * agreement for license use rights and restrictions. * * Copyright (C) 1999 - 2012 by ANHUI USTC iFLYTEK, Co,LTD. * All rights reserved. * * @author Speech Dept. iFLYTEK. * @version 1.0 * @date 2012/4/16 * * @see * * History:
* * * *
Version Date Author Notes
1.0 2012/4/16 MSP40 Create this file
* */ #ifndef __MSP_ISE_H__ #define __MSP_ISE_H__ #ifdef __cplusplus extern "C" { #endif /* C++ */ #include "msp_types.h" /** * @fn QISEInit * @brief Initialize API * * Load API module with specified configurations. * * @return int MSPAPI - Return 0 in success, otherwise return error code. * @param const char* configs - [in] Configurations to initialize. * @see */ /*int MSPAPI QISEInit(const char* configs); typedef int (MSPAPI *Proc_QISEInit)(const char* configs); #ifdef MSP_WCHAR_SUPPORT int MSPAPI QISEInitW(const wchar_t* configs); typedef int (MSPAPI *Proc_QISEInitW)(const wchar_t* configs); #endif*/ /** * @fn QISESessionBegin * @brief Begin a Evaluation Session * * Create a evaluation session to evaluate audio data * * @return const char* MSPAPI - Return the new session id in success, otherwise return NULL. * @param const char* params - [in] Parameters to create session. * @param const char* userModelId - [in] user model id. * @param int *errorCode - [out] Return 0 in success, otherwise return error code. * @see */ const char* MSPAPI QISESessionBegin(const char* params, const char* userModelId, int* errorCode); typedef const char* (MSPAPI *Proc_QISESessionBegin)(const char* params, const char* userModelID, int *errorCode); #ifdef MSP_WCHAR_SUPPORT const wchar_t* MSPAPI QISESessionBeginW(const wchar_t* params, const wchar_t* userModelID, int *errorCode); typedef const wchar_t* (MSPAPI *Proc_QISESessionBeginW)(const wchar_t* params, const wchar_t* userModelID, int *errorCode); #endif /** * @fn QISEPaperCheck * @brief Paper Check * * Checking the papaer . * * @return int MSPAPI - Return 0 in success, otherwise return error code. * @param void *data - [in] Text buffer. * @param unsigned int* dataLen - [in] Text length in bytes,[out] Length of result returned * @param const char* params - [in] Parameters describing the text. * @see */ const char* MSPAPI QISEPaperCheck(void *data, unsigned int * dataLen, const char *params, int *errorCode ); /** * @fn QISETextPut * @brief Put Text * * Writing text string to evaluator. * * @return int MSPAPI - Return 0 in success, otherwise return error code. * @param const char* sessionID - [in] The session id returned by QISESessionBegin. * @param const char* textString - [in] Text buffer. * @param unsigned int textLen - [in] Text length in bytes. * @param const char* params - [in] Parameters describing the text. * @see */ int MSPAPI QISETextPut(const char* sessionID, const char* textString, unsigned int textLen, const char* params); typedef int (MSPAPI *Proc_QISETextPut)(const char* sessionID, const char* textString, unsigned int textLen, const char* params); #ifdef MSP_WCHAR_SUPPORT int MSPAPI QISETextPutW(const wchar_t* sessionID, const wchar_t* textString, unsigned int textLen, const wchar_t* params); typedef int (MSPAPI *Proc_QISETextPutW)(const wchar_t* sessionID, const wchar_t* textString, unsigned int textLen, const wchar_t* params); #endif /** * @fn QISEAudioWrite * @brief Write Audio * * Writing binary audio data to evaluator. * * @return int MSPAPI - Return 0 in success, otherwise return error code. * @param const char* sessionID - [in] The session id returned by QISESessionBegin. * @param const void* waveData - [in] Audio data to write. * @param unsigned int waveLen - [in] Audio length in bytes. * @param int audioStatus - [in] Audio status. * @param int *epStatus - [out] EP or vad status. * @param int *evlStatus - [out] Status of evaluation result, 0: success, 1: no match, 2: incomplete, 5:speech complete. * @see */ int MSPAPI QISEAudioWrite(const char* sessionID, const void* waveData, unsigned int waveLen, int audioStatus, int *epStatus, int *Status); typedef int (MSPAPI *Proc_QISEAudioWrite)(const char* sessionID, const void* waveData, unsigned int waveLen, int audioStatus, int *epStatus, int *recogStatus); #ifdef MSP_WCHAR_SUPPORT int MSPAPI QISEAudioWriteW(const wchar_t* sessionID, const void* waveData, unsigned int waveLen, int audioStatus, int *epStatus, int *evlStatus); typedef int (MSPAPI *Proc_QISEAudioWriteW)(const wchar_t* sessionID, const void* waveData, unsigned int waveLen, int audioStatus, int *epStatus, int *evlStatus); #endif /** * @fn QISEGetResult * @brief Get Evaluation Result * * Get evaluation result. * * @return int MSPAPI - Return 0 in success, otherwise return error code. * @param const char* sessionID - [in] The session id returned by QISESessionBegin. * @param int* rsltLen - [out] Length of result returned. * @param int* rsltStatus - [out] Status of evaluation result returned. * @param int* errorCode - [out] Return 0 in success, otherwise return error code. * @see */ const char * MSPAPI QISEGetResult(const char* sessionID, unsigned int* rsltLen, int* rsltStatus, int *errorCode); typedef const char * (MSPAPI *Proc_QISEGetResult)(const char* sessionID, unsigned int* rsltLen, int* rsltStatus, int *errorCode); #ifdef MSP_WCHAR_SUPPORT const wchar_t* MSPAPI QISEGetResultW(const wchar_t* sessionID, int* rsltLen, unsigned int* rsltStatus, int *errorCode); typedef const wchar_t* (MSPAPI *Proc_QISEGetResultW)(const wchar_t* sessionID, unsigned int* rsltLen, int* rsltStatus, int *errorCode); #endif /** * @fn QISEResultInfo * @brief Get Result Info * * Get info of evaluation result. * * @return const char * - The session id returned by QISESessionBegin. * @param const char* sessionID - [in] session id returned by QISESessionBegin. * @see */ const char* MSPAPI QISEResultInfo(const char* sessionID, int *errorCode); typedef const char* (MSPAPI *Proc_QISEResultInfo)(const char* sessionID, int *errorCode); #ifdef MSP_WCHAR_SUPPORT const wchar_t* MSPAPI QISEResultInfoW(const wchar_t* sessionID, int *errorCode); typedef const wchar_t* (MSPAPI *Proc_QISEResultInfoW)(const wchar_t* sessionID, int *errorCode); #endif /** * @fn QISESessionEnd * @brief End a ISR Session * * End a evaluation session, release all resource. * * @return int MSPAPI - Return 0 in success, otherwise return error code. * @param const char* sessionID - [in] The session id returned by QISESessionBegin. * @param const char* hints - [in] Reason to end current session. * @see */ int MSPAPI QISESessionEnd(const char* sessionID, const char* hints); typedef int (MSPAPI *Proc_QISESessionEnd)(const char* sessionID, const char* hints); #ifdef MSP_WCHAR_SUPPORT int MSPAPI QISESessionEndW(const wchar_t* sessionID, const wchar_t* hints); typedef int (MSPAPI *Proc_QISESessionEndW)(const wchar_t* sessionID, const wchar_t* hints); #endif /** * @fn QISEGetParam * @brief get params related with msc * * the params could be local or server param, we only support netflow params "upflow" & "downflow" now * * @return int MSPAPI - Return 0 in success, otherwise return error code. * @param const char* sessionID - [in] session id of related param, set NULL to got global param * @param const char* paramName - [in] param name,could pass more than one param splited by ',' ';' or '\n'. * @param const char* paramValue - [in] param value buffer, malloced by user. * @param int *valueLen - [in, out] in: length of value buffer, out: length of value string. * @see */ int MSPAPI QISEGetParam(const char* sessionID, const char* paramName, char* paramValue, unsigned int* valueLen); typedef int (MSPAPI *Proc_QISEGetParam)(const char* sessionID, const char* paramName, char* paramValue, unsigned int* valueLen); #ifdef MSP_WCHAR_SUPPORT int MSPAPI QISEGetParamW(const wchar_t* sessionID, const wchar_t* paramName, wchar_t* paramValue, unsigned int* valueLen); typedef int (MSPAPI *Proc_QISEGetParamW)(const wchar_t* sessionID, const wchar_t* paramName, wchar_t* paramValue, unsigned int* valueLen); #endif /* // // typedef void ( MSPAPI *recog_result_ntf_handler)( const char *sessionID, const char *result, int resultLen, int resultStatus, void *userData ); // typedef void ( MSPAPI *status_ntf_handler)( const char *sessionID, int type, int status, const void *param1, const void *param2, void *userData); // typedef void ( MSPAPI *error_ntf_handler)(const char *sessionID, int errorCode, const char *detail, void *userData); // int MSPAPI QISRRegisterNotify(const char *sessionID, recog_result_ntf_handler rsltCb, status_ntf_handler statusCb, error_ntf_handler errCb, void *userData); */ #ifdef __cplusplus } /* extern "C" */ #endif /* C++ */ #endif /* __MSP_ISE_H__ */