int main(int argc, char* argv[]) { const char* login_config = "appid = 55dbb5fb,work_dir = . "; const char* param = "rst=plain,rse=utf8,sub=asr,aue=speex-wb,auf=audio/L16;rate=16000,ent=sms16k"; //注意sub=asr,16k音频aue=speex-wb,8k音频识别aue=speex, int ret = 0 ; char key = 0 ; int grammar_flag = 0;//0:不上传词表;1:上传词表 const char* asrfile = get_audio_file();//选择 ret = MSPLogin(NULL, NULL, login_config); if ( ret != MSP_SUCCESS ) { printf("MSPLogin failed , Error code %d.\n",ret); return 0 ; } memset(GrammarID, 0, sizeof(GrammarID)); ret = get_grammar_id(grammar_flag); if(ret != MSP_SUCCESS) { printf("get_grammar_id with errorCode: %d \n", ret); return 0 ; } ret = run_asr(asrfile, param); if(ret != MSP_SUCCESS) { printf("run_asr with errorCode: %d \n", ret); return 0; } MSPLogout(); return 0; }
int main(int argc, char* argv[]) { int ret = MSP_SUCCESS; const char* login_params = "appid = 5652758a, work_dir = ."; //登录参数,appid与msc库绑定,请勿随意改动 /* * sub: 请求业务类型 * result_type: 识别结果格式 * result_encoding: 结果编码格式 * * 详细参数说明请参阅《iFlytek MSC Reference Manual》 */ const char* session_begin_params = "sub = asr, result_type = plain, result_encoding = utf8"; char* grammar_id = NULL; /* 用户登录 */ ret = MSPLogin(NULL, NULL, login_params); //第一个参数是用户名,第二个参数是密码,均传NULL即可,第三个参数是登录参数 if (MSP_SUCCESS != ret) { printf("MSPLogin failed, error code: %d.\n",ret); goto exit; //登录失败,退出登录 } printf("\n##################################################\n"); printf("## 语音识别(Automatic Speech Recognition)技术 ##\n"); printf("## 能够从语音中识别出特定的命令词或语句模式。 ##\n"); printf("##################################################\n\n"); grammar_id = (char*)malloc(GRAMID_LEN);//动态分配内存 if (NULL == grammar_id) { printf("out of memory !\n"); goto exit; } memset(grammar_id, 0, GRAMID_LEN); printf("上传语法 ...\n"); ret = get_grammar_id(grammar_id, GRAMID_LEN); if (MSP_SUCCESS != ret) goto exit; printf("上传语法成功\n"); run_asr("wav/iflytek01.wav", session_begin_params, grammar_id); //iflytek01对应的音频内容:“18012345678” exit: if (NULL != grammar_id) { free(grammar_id); grammar_id = NULL; } printf("按任意键退出 ...\n"); getchar(); MSPLogout(); //退出登录 return 0; }