资源简介
Windows CE环境下的语音朗读。讯飞移动语音平台是基于讯飞公司已有的ISP 和IMS 产品,开发出的一款符合移动互
联网用户使用的语音应用开发平台,提供语音合成、语音听写、语音识别、声纹识别等服务,
为语音应用开发爱好者提供方便易用的开发接口,使得用户能够基于该开发接口进行多种语
音应用开发。
代码片段和文件信息
// asrdemo.c : Defines the entry point for the console application.
//
#include “stdlib.h“
#include “stdio.h“
#include
#include
#include
#include “../../include/qisr.h“
#include “../../include/msp_cmn.h“
#include “../../include/msp_errors.h“
#ifdef _WIN64
#pragma comment(lib“../../lib/msc_x64.lib“)//x64
#else
#pragma comment(lib“../../lib/msc.lib“)//x86
#endif
#define BUFFER_NUM 4096
#define MAX_KEYWORD_LEN 4096
char GrammarID[128];
const char* get_audio_file(void)
{
char key = 0;
while(key != 27)//按Esc则退出
{
system(“cls“);//清屏
printf(“请选择音频文件:\n“);
printf(“1.科大讯飞\n“);
printf(“2.阿里山龙胆\n“);
printf(“3.齐鲁石化\n“);
printf(“4.一二三四五六七八九十\n“);
printf(“注意:第三条的音频故意结巴说出来的,用于展示效果。\n 关键字列表中没有第四条,展示如果用户说的词语不在列表中,会得到什么结果。\n“);
key = getchar();
switch(key)
{
case ‘1‘:
printf(“1.科大讯飞\n“);
return “wav/iflytek01.wav“; //iflytek01对应的音频内容“科大讯飞”
case ‘2‘:
printf(“2.阿里山龙胆\n“);
return “wav/iflytek02.wav“; //iflytek02对应的音频内容“阿里山龙胆”
case ‘3‘:
printf(“3.齐鲁石化\n“);
return “wav/iflytek03.wav“; //iflytek03对应的音频内容“齐鲁石化”
case ‘4‘:
printf(“4.一二三四五六七八九十\n“);
return “wav/iflytek04.wav“; //iflytek04对应的音频内容“一二三四五六七八九十“
default:
continue;
}
}
exit(0);
return NULL;
}
int get_grammar_id( int upload)
{
int ret = MSP_SUCCESS;
const char * sessionID = NULL;
char UserData[MAX_KEYWORD_LEN];
unsigned int len = 0;
const char* testID = NULL;
FILE *fp = NULL;
memset(UserData 0 MAX_KEYWORD_LEN);
if (0 == upload)
{
strcpy(GrammarID “e7eb1a443ee143d5e7ac52cb794810fe“);
//这个ID是我上传之后记录下来的。语法上传之后永久保存在服务器上,所以不要反复上传同样的语法
return ret;
}
//如果想要重新上传语法,传入参数upload置为TRUE,就可以走下面的上传语法流程
fp = fopen(“asr_keywords_utf8.txt“ “rb“);//关键字列表文件必须是utf8格式
if (fp == NULL)
{
ret = -1 ;
printf(“keyword file cannot open\n“);
return ret;
}
len = (unsigned int)fread(UserData 1 MAX_KEYWORD_LEN fp);
UserData[len] = 0;
fclose(fp);
testID = MSPUploadData(“userword“ UserData len “dtt = userword sub = asr“ &ret);// sub 参数必需,否则返回空串
if(ret != MSP_SUCCESS)
{
printf(“UploadData with errorCode: %d \n“ ret);
return ret;
}
memcpy((void*)GrammarID testID strlen(testID));
printf(“GrammarID: \“%s\“ \n“ GrammarID);//将获得的GrammarID输出到屏幕上
return ret;
}
int run_asr(const char* asrfile const char* param)
{
char rec_result[1024*4] = {0};
const char *sessionID;
FILE *f_pcm = NULL;
char *pPCM = NULL;
int lastAudio = 0 ;
int audStat = MSP_AUDIO_SAMPLE_CONTINUE ;
int epStatus = MSP_EP_LOOKING_FOR_SPEECH;
int recStatus = MSP_REC_STATUS_SUCCESS ;
long pcmCount = 0;
long pcmSize = 0;
int errCode = 0 ;
sessionID = QISRSessionBegin(GrammarID param &errCode); //开始一路会话
f_pcm = fopen(asrfile “rb“);
if (NULL != f_pcm) {
fseek(f_pcm 0 SEE
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-05-14 06:00 Examples\
目录 0 2015-02-27 04:42 Examples\ttsdemo_with_speechmark\
文件 1435 2014-05-14 06:39 Examples\ttsdemo_with_speechmark\ttsdemo_with_speechmark.vcproj.dpweng-PC.dpweng.user
文件 7386 2014-01-20 05:56 Examples\ttsdemo_with_speechmark\ttsdemo_with_speechmark.vcproj.bak
文件 4935 2015-02-27 04:42 Examples\ttsdemo_with_speechmark\ttsdemo_with_speechmark.c
文件 10865 2014-01-09 09:34 Examples\ttsdemo_with_speechmark\ttsdemo_with_speechmark.vcxproj
文件 7450 2014-05-14 06:09 Examples\ttsdemo_with_speechmark\ttsdemo_with_speechmark.vcproj
文件 613 2014-05-14 06:22 Examples\ttsdemo_with_speechmark\ttsdemo_with_speechmark.vcxproj.user
目录 0 2015-02-27 04:42 Examples\iatdemo\
文件 3728 2015-02-27 04:42 Examples\iatdemo\iatdemo.c
文件 7402 2014-05-14 06:09 Examples\iatdemo\iatdemo.vcproj
文件 613 2014-05-14 06:22 Examples\iatdemo\iatdemo.vcxproj.user
文件 1435 2014-05-14 06:39 Examples\iatdemo\iatdemo.vcproj.dpweng-PC.dpweng.user
文件 10779 2014-01-18 08:14 Examples\iatdemo\iatdemo.vcxproj
文件 7338 2014-01-20 05:56 Examples\iatdemo\iatdemo.vcproj.bak
目录 0 2015-02-27 04:42 Examples\iatdemo_with_user_vocabulary\
文件 7461 2014-05-14 06:09 Examples\iatdemo_with_user_vocabulary\iatdemo_with_user_vocabulary.vcproj
文件 10815 2013-12-17 02:09 Examples\iatdemo_with_user_vocabulary\iatdemo_with_user_vocabulary.vcxproj
文件 1435 2014-05-14 06:39 Examples\iatdemo_with_user_vocabulary\iatdemo_with_user_vocabulary.vcproj.dpweng-PC.dpweng.user
文件 7397 2014-01-20 05:58 Examples\iatdemo_with_user_vocabulary\iatdemo_with_user_vocabulary.vcproj.bak
文件 4193 2015-02-27 04:42 Examples\iatdemo_with_user_vocabulary\iatdemo_with_user_vocabulary.c
文件 613 2014-05-14 06:22 Examples\iatdemo_with_user_vocabulary\iatdemo_with_user_vocabulary.vcxproj.user
目录 0 2015-02-27 04:42 Examples\asrdemo\
文件 9569 2014-01-20 05:41 Examples\asrdemo\asrdemo.vcxproj
文件 613 2014-05-14 06:22 Examples\asrdemo\asrdemo.vcxproj.user
文件 5966 2015-02-27 04:42 Examples\asrdemo\asrdemo.c
文件 1435 2014-05-14 06:39 Examples\asrdemo\asrdemo.vcproj.dpweng-PC.dpweng.user
文件 7338 2014-01-20 05:52 Examples\asrdemo\asrdemo.vcproj.bak
文件 7402 2014-05-14 06:17 Examples\asrdemo\asrdemo.vcproj
目录 0 2015-02-27 04:42 Examples\ttsdemo\
文件 613 2014-05-14 06:22 Examples\ttsdemo\ttsdemo.vcxproj.user
............此处省略64个文件信息
评论
共有 条评论