| 类型 | 说明 |
|---|---|
| int MSPAPI | MSPLogin(const char *usr, const char *pwd, const char *params) 初始化msc,用户登录。 |
| const char *MSPAPI | MSPUploadData(const char *dataName, void data, unsigned int dataLen, const charparams, int *errorCode) 用户数据上传。 |
| int MSPAPI | MSPLogout 退出登录。 |
| int MSPAPI | MSPSetParam(const char *paramName, const char *paramValue) 参数设置接口、离线引擎初始化接口。 |
| int MSPAPI | MSPGetParam(const char *paramName, char *paramValue, unsigned int *valueLen) 获取MSC的设置信息。 |
| const char *MSPAPI | MSPGetVersion(const char *verName, int *errorCode) 获取MSC或本地引擎版本信息。 |
| 在线/离线业务 | 参数 | 名称 | 说明 |
|---|---|---|---|
| 通用 | appid | 应用ID | SDK申请成功后获取到的appid。申请SDK请前往讯飞开放平台 ,此参数必须传入 |
| 离线 | engine_start | 离线引擎启动 | 启动离线引擎,支持参数,ivw:唤醒,asr:识别 |
| 离线 | [xxx]_res_path | 离线引擎资源路径 | 设置ivw、asr引擎离线资源路径,详细格式如下:fo|[path]|[offset]|[length]|xx|xx。 示例如下,单个资源路径: ivw_res_path=fo|res/ivw/wakeupresource.jet, 多个资源路径:asr_res_path=fo|res/asr/common.jet;fo|res/asr/sms.jet |
| 在线/离线业务 | 参数 | 功能 | 应用业务 | 文件编码 |
|---|---|---|---|---|
| 在线 | "sub = uup,dtt = userword" | 上传用户词表 | iat | UTF-8 |
| 在线 | "sub = uup,dtt = contact" | 上传联系人 | iat | UTF-8 |
| 在线/离线业务 | 参数 | 名称 | 说明 |
|---|---|---|---|
| 离线 | engine_start | engine_start 启动离线引擎 | 启动引擎: 设置paramName为engine_start paramValue为engine_start=asr、ivw离线业务 之后加资源所在路径 例如engine_start=asr,asr_res_path=fo|file_path|[offset]|[length] |
| 离线 | engine_destroy | 销毁离线引擎 | 销毁引擎: 设置paramName 为engine_destroy paramValue 为asr 、tts 、ivw ( 如engine_destroy=tts)离线业务 |
| 在线/离线业务 | 参数 | 描述 |
|---|---|---|
| 在线 | upflow | 上行数据量 |
| 在线 | downflow | 下行数据量 |
| 在线/离线业务 | 参数 | 描述 |
|---|---|---|
| 离线 | ver_msc | MSC版本号 |
| 离线 | ver_asr | 离线识别版本号,目前不支持 |
| 离线 | ver_tts | 离线合成版本号 |
| 离线 | ver_ivw | 离线唤醒版本号 |
| 类型 | 说明 |
|---|---|
| const char *MSPAPI | QISRSessionBegin(const char *grammarList, const char *params, int *errorCode) 开始一次语音识别。 |
| int MSPAPI | QISRAudioWrite(const char *sessionID, const void *waveData, unsigned int waveLen, int audioStatus, int *epStatus, int *recogStatus) 写入本次识别的音频。 |
| const char *MSPAPI | QISRGetResult(const char *sessionID, int *rsltStatus, int waitTime, int *errorCode) 获取识别结果。 |
| int MSPAPI | QISRSessionEnd(const char *sessionID, const char *hints) 结束本次语音识别。 |
| int MSPAPI | QISRGetParam(const char *sessionID, const char *paramName, char *paramValue, unsigned int *valueLen) 获取当次语音识别信息,如上行流量、下行流量等。 |
| int MSPAPI | QISRBuildGrammar(const char *grammarType, const char *grammarContent, unsigned int grammarLength, const char *params, GrammarCallBack callback, void *userData) 构建语法,生成语法ID。 |
| int MSPAPI | QISRUpdateLexicon(const char *lexiconName, const char *lexiconContent, unsigned int lexiconLength, const char *params, LexiconCallBack callback, void *userData) 更新本地语法词典。 |
| 在线/离线业务 | 参数 | 名称 | 说明 |
|---|---|---|---|
| 通用 | engine_type | 引擎类型 | 可取值: cloud:在线引擎 local:离线引擎 默认值:cloud |
| 在线 | sub | 本次识别请求的类型 | iat:语音听写 asr:命令词识别。 默认为iat |
| 在线 | language | 语言 | 可取值: zh_cn:简体中文 en_us:英文 默认值:zh_cn |
| 在线 | domain | 领域 | iat:语音听写(默认值) |
| 在线 | accent | 语言区域 | 可取值: mandarin:普通话(默认值) 其他方言请前往讯飞开放平台控制台查看 |
| 通用 | sample_rate | 音频采样率 | 可取值:16000,8000 默认值:16000 离线识别不支持8000采样率音频 |
| 离线 | asr_threshold | 识别门限 | 离线语法识别结果门限值,设置只返回置信度得分大于此门限值的结果 可取值:0~100,默认值:0 |
| 离线 | asr_denoise | 是否开启降噪功能 | 可取值: 0:不开启,1:开启 默认不开启 |
| 离线 | asr_res_path | 离线识别资源路径 | 离线识别资源所 在路径,对应格式如下: access_type1|file_info1|[offset1]|[length1];access_type2|file_info2|[offset2]|[length2] 各字段含义如下: access_type:文件访问方式,支持路径方式(fo)和文件描述符方式(fd); file_info:此字段和access_type 对应,文件路径对应fo,文件描述符对应fd, |
| 离线 | grm_build_path | 离线语法生成路径 | 构建离线语法所生成数据的保存路径(文件夹) |
| 通用 | result_type | 结果格式 | 可取值:plain,json 默认值:plain |
| 通用 | text_encoding | 文本编码格式 | 表示参数中携带的文本编码格式 |
| 离线 | local_grammar | 离线语法id | 构建离线语法后获得的语法ID |
| 通用 | ptt | 添加标点符号(仅sub=iat时有效) | 0:无标点符号;1:有标点符号。默认为1 |
| 在线 | aue | 音频编码格式和压缩等级 | 编码算法:raw;speex;speex-wb;ico 编码等级:raw:不进行压缩。speex系列:0-10; 默认为speex-wb;7 speex对应sample_rate=8000 speex-wb对应sample_rate=16000 ico对应sample_rate=16000 |
| 通用 | result_encoding | 识别 结果字符串所用编码格式 | GB2312;UTF-8;UNICODE 不同的格式支持不同的编码: plain:UTF-8,GB2312 json:UTF-8 |
| 通用 | vad_enable | VAD功能开关 | 是否启用VAD 默认为开启VAD 0(或false)为关闭 |
| 通用 | vad_bos | 允许头部静音的最长时间(目前未开启该功能) | 0-10000毫秒。默认为10000 如果静音时长超过了此值,则认为用户此次无有效音频输入。此参数仅在打开VAD功能时有效。 |
| 通用 | vad_eos | 允许尾部静音的最长时间 | 0-10000毫秒。默认为2000 如果尾部静音时长超过了此值,则认为用户音频已经结束,此参数仅在打开VAD功能时有效。 |
| 枚举常量 | 简介 |
|---|---|
| MSP_AUDIO_SAMPLE_FIRST = 1 | 第一块音频 |
| MSP_AUDIO_SAMPLE_CONTINUE = 2 | 还有后继音频 |
| MSP_AUDIO_SAMPLE_LAST = 4 | 最后一块音频 |
| 枚举常量 | 简介 |
|---|---|
| MSP_EP_LOOKING_FOR_SPEECH = 0 | 还没有检测到音频的前端点。 |
| MSP_EP_IN_SPEECH = 1 | 已经检测到了音频前端点,正在进行正常的音频处理。 |
| MSP_EP_AFTER_SPEECH = 3 | 检测到音频的后端点,后继的音频会被MSC忽略。 |
| MSP_EP_TIMEOUT = 4 | 超时。 |
| MSP_EP_ERROR = 5 | 出现错误。 |
| MSP_EP_MAX_SPEECH = 6 | 音频过大。 |
| 枚举常量 | 简介 |
|---|---|
| MSP_REC_STATUS_SUCCESS = 0 | 识别成功,此时用户可以调用QISRGetResult来获取(部分)结果。 |
| MSP_REC_STATUS_NO_MATCH = 1 | 识别结束,没有识别结果。 |
| MSP_REC_STATUS_INCOMPLETE = 2 | 正在识别中。 |
| MSP_REC_STATUS_COMPLETE = 5 | 识别结束。 |
char rslt_str[ 2048 ] ={'\0'};
const char* rec_result = NULL;
int rslt_status = 0;
int ret = 0;
while(MSP_REC_STATUS_SPEECH_COMPLETE != rslt_status )
{
rec_result = QISRGetResult ( sessionID, &rslt_status, 5000, &ret );
if( MSP_SUCCESS != ret )
{
printf( "QISRGetResult failed, error code is: %d", ret );
break;
}
if( NULL != rec_result )
{
// 用户可以用其他的方式保存识别结果
strcat( rslt_str, rec_result );
continue;
}
// sleep 一下很有必要,防止MSC 端无缓存的识别结果时浪费CPU 资源
Sleep( 200 );
}
.int ret = QISRSessionEnd ( sessionID, "normal end" );
if( MSP_SUCCESS != ret )
{
printf( "QISRSessionEnd failed, error code is: %d", ret );
}
.| 在线/离线业务 | 参数 | 描述 |
|---|---|---|
| 在线 | sid | 服务端会话ID,长度为32字节 |
| 在线 | upflow | 上行数据量 |
| 在线 | downflow | 下行数据量 |
| 通用 | volume | 最近一次写入的音频的音量 |
const char * para_name = "upflow";
char para_value[32] = {'\0'};
unsigned int value_len = 32;
int ret = QISRGetParam ( sessionID, para_name, para_value, &value_len );
if( MSP_SUCCESS != ret )
{
printf( "QISRGetParam failed, error code is: %d", ret );
}
.| 在线/离线业务 | 参数 | 名称 | 说明 |
|---|---|---|---|
| 通用 | engine_type | 引擎类型 | 可取值: local:离线引擎 |
| 通用 | sample_rate | 音频采样率 | 可取值:16000,8000, 默认值:16000 |
| 离线 | asr_res_path | 离线识别资源路径 | 离线识别资源所在路径,对应格式如下: access_type1|file_info1|[offset1]|[length1];access_type2|file_info2|[offset2]|[length2] 各字段含义如下: access_type:文件访问方式,支持路径方式(fo)和文件描述符方式(fd); file_info:此字段和access_type 对应,文件路径对应fo,文件描述符对应fd, 其中文件路径必须是包含文件名的完整路径; offset:资源文件在此传入文件中的偏移; length:资源文件大小。 |
| 离线 | grm_build_path | 离线语法生成路径 | 构建离线语法所生成数据的保存路径(文件夹) |
| 在线/离线业务 | 参数 | 名称 | 说明 |
|---|---|---|---|
| 通用 | engine_type | 引擎类型 | 可取值: cloud:在线引擎, local:离线引擎, 默认值:cloud |
| 在线 | subject | 业务类型 | 必须由用户指定,更新云端词典设置为uup |
| 在线 | data_type | 数据类型 | 必须由用户指定。 更新云端联系人:contact 更新云端个性化词表:userword |
| 通用 | text_encoding | 文本编码格式 | 表示参数中携带的文本编码格式 可取值:GB2312,GBK,UTF-8,UTF-16LE,UTF-16BE |
| 通用 | sample_rate | 音频采样率 | 可取值:16000,8000, 默认值:16000 |
| 离线 | asr_res_path | 离线识别资源路径 | 离线识别资源所在路径,对应格式如下: access_type1|file_info1|[offset1]|[length1];access_type2|file_info2|[offset2]|[length2] 各字段含义如下: access_type:文件访问方式,支持路径方式(fo)和文件描述符方式(fd); file_info:此字段和access_type 对应,文件路径对应fo,文件描述符对应fd, 其中文件路径必须是包含文件名的完整路径; offset:资源文件在此传入文件中的偏移; length:资源文件大小。 |
| 离线 | grm_build_path | 离线语法生成路径 | 构建离线语法所生成数据的保存路径(文件夹) |
| 离线 | grammar_list | 语法id 列表 | 指定需要更新的离线语法id 列表,支持一次性更新多个语法, 格式如下:id1;id2 |
| 类型 | 说明 |
|---|---|
| const char *MSPAPI | QTTSSessionBegin(const char *params, int *errorCode) 开始一次语音合成,分配语音合成资源。 |
| int MSPAPI | QTTSTextPut(const char *sessionID, const char *textString, unsigned int textLen, const char *params) 写入要合成的文本。 |
| const void *MSPAPI | QTTSAudioGet(const char *sessionID, unsigned int *audioLen, int *synthStatus, int *errorCode) 获取合成音频。 |
| int MSPAPI | QTTSSessionEnd(const char *sessionID, const char *hints) 结束本次语音合成。 |
| int MSPAPI | QTTSGetParam(const char *sessionID, const char *paramName, char *paramValue, unsigned int *valueLen) 获取当前语音合成信息,如当前合成音频对应文本结束位置、上行流量、下行流量等。 |
| 在线/离线业务 | 参数 | 名称 | 说明 |
|---|---|---|---|
| 通用 | engine_type | 引擎类型 | 可取值: cloud:在线引擎 local:离线引擎,默认为cloud |
| 通用 | voice_name | 发音人 | 不同的发音人代表了不同的音色, 如男声、女声、童声等,具体参数值请到控制台-发音人授权管理 确认 |
| 通用 | speed | 语速 | 合成音频对应的语速, 取值范围:[0,100],数值越大语速越快。 默认值:50 |
| 通用 | volume | 音量 | 合成音频的音量, 取值范围:[0,100],数值越大音量越大。 默认值:50 |
| 通用 | pitch | 语调 | 合成音频的音调, 取值范围:[0,100],数值越大音调越高。 默认值:50 |
| 离线 | tts_res_path | 合成资源路径 | 合成资源所在路径,支持fo 方式参数设置,对应格式如下: fo|[file_info]|[offset]|[length] (1)若是合并资源,则只需传入一个资源路径,如:fo| combined.jet|0|1024 (2)若是分离资源,则需传两个资源路径,如:fo|common.jet|0|1024;fo| xiaoyan.jet|0|1024 |
| 通用 | rdn | 数字发音 | 合成音频数字发音,支持参数, 0 数值优先, 1 完全数值, 2 完全字符串, 3 字符串优先, 默认值:0 |
| 离线 | rcn | 1 的中文发音 | 支持参数: 0:表示发音为yao 1:表示发音为yi 默认值:0 |
| 通用 | text_encoding | 文本编码格式(必传) | 合成文本编码格式,支持参数,GB2312,GBK,BIG5,UNICODE,GB18030,UTF8 |
| 通用 | sample_rate | 合成音频采样率 | 合成音频采样率,支持参数,16000,8000(离线高品质合成暂不支持),默认为16000 |
| 在线 | background_sound | 背景音 | 合成音频中的背景音,支持参数, 0:无背景音乐, 1:有背景音乐 |
| 在线 | aue | 音频编码格式和压缩等级 | 码算法:raw;speex;speex-wb;ico 编码等级:raw:不进行解压缩 speex系列:0-10; 默认为speex-wb;7 speex对应sample_rate=8000 speex-wb对应sample_rate=16000 ico对应sample_rate=16000 |
| 在线 | ttp | 文本类型 | 合成文本类型,支持参数, text: 普通格式文本 cssml:cssml 格式文本 默认值:text |
| 离线 | speed_increase | 语速增强 | 通过设置此参数控制合成音频语速基数,取值范围, 1:正常 2:2 倍语速 4:4 倍语速 |
| 离线 | effect | 合成音效 | 合成音频的音效,取值范围, 0 无音效,1 忽远忽近,2 回声,3 机器人,4 合唱,5 水下,6 混响,7 阴阳怪气 |
| 枚举常量 | 简介 |
|---|---|
| MSP_TTS_FLAG_STILL_HAVE_DATA = 1 | 音频还没取完,还有后继的音频 |
| MSP_TTS_FLAG_DATA_END = 2 | 音频已经取完 |
| 在线/离线业务 | 参数名称 | 意义 |
|---|---|---|
| 在线 | sid | 服务端会话ID,长度为32字节 |
| 在线 | upflow | 上行数据量。 |
| 在线 | downflow | 下行数据量 |
| 通用 | ced | 当前合成音频对应文本结束位置 |
| 类型 | 说明 |
|---|---|
| const char *MSPAPI | QISESessionBegin(const char *params, const char *userModelId, int *errorCode) 开始一次语音评测。 |
| int MSPAPI | QISETextPut(const char *sessionID, const char *textString, unsigned int textLen, const char *params) 写入待评测的文本。 |
| int MSPAPI | QISEAudioWrite (const char *sessionID, const void *waveData, unsigned int waveLen, int audioStatus, int *epStatus, int *Status) 写入本次评测的音频。 |
| const char *MSPAPI | QISEGetResult(const char *sessionID, unsigned int *rsltLen, int *rsltStatus, int *errorCode) 获取评测结果。 |
| int MSPAPI | QISESessionEnd(const char *sessionID, const char *hints) 结束本次语音评测。 |
| 参数 | 参数说明 | 值 |
|---|---|---|
| sub | 本次评测请求的类型 | ise |
| aue | 音频编码格式和压缩等级 | 编码算法:raw;speex;speex-wb;ico 编码等级:raw:无等级。speex系列:0-10; 默认为speex-wb;7 speex-wb对应audio/L16;rate=16000 ico对应audio/L16;rate=16000 |
| auf | 音频格式 | audio/L16;rate=16000 默认为audio/L16;rate=16000 |
| rse | 评测结果字符串所用编码格式 | gb2312 |
| vad_timeout | 允许头部静音的最长时间 | 0-10000毫秒。默认为10000 如果静音时长超过了此值,则认为用户此次无有效音频输入。此参数仅在打开VAD功能时有效。 |
| vad_speech_tail | 允许尾部静音的最长时间 | 0-10000毫秒。默认为2000 如果尾部静音时长超过了此值,则认为用户音频已经结束,此参数仅在打开VAD功能时有效。 |
| vad_enable | VAD功能开关 | 是否启用VAD 默认为开启VAD 0(或false)为关闭 |
| category | 评测类型 | read_syllable(当language=en_us时,不支持) read_word read_sentence |
| language | 评测语言 | zh_cn:简体中文 en_us:英语 默认为zh_cn |
| 枚举常量 | 描述 |
|---|---|
| MSP_AUDIO_SAMPLE_FIRST = 1 | 第一块音频 |
| MSP_AUDIO_SAMPLE_CONTINUE = 2 | 还有后继音频 |
| MSP_AUDIO_SAMPLE_LAST = 4 | 最后一块音频 |
| 枚举常量 | 描述 |
|---|---|
| MSP_EP_LOOKING_FOR_SPEECH = 0 | 还没有检测到音频的前端点 |
| MSP_EP_IN_SPEECH = 1 | 已经检测到了音频前端点,正在进行正常的音频处理 |
| MSP_EP_AFTER_SPEECH = 3 | 检测到音频的后端点,后继的音频会被MSC忽略 |
| MSP_EP_TIMEOUT = 4 | 超时 |
| MSP_EP_ERROR = 5 | 出现错误 |
| MSP_EP_MAX_SPEECH = 6 | 音频过大 |
| 枚举常量 | 描述 |
|---|---|
| MSP_REC_STATUS_SUCCESS = 0 | 评测成功,有评测结果返回 |
| MSP_REC_STATUS_NO_MATCH = 1 | 评测结束,没有评测结果 |
| MSP_REC_STATUS_INCOMPLETE = 2 | 正在评测 |
| MSP_REC_STATUS_COMPLETE = 5 | 评测结束,有评测结果返回 |
| 类型 | 说明 |
|---|---|
| const char *MSPAPI | QIVWSessionbegin(const char *grammarList, const char *params, int *errorCode)开始唤醒功能,并在参数中指定唤醒(唤醒+识别时)用到的语法列表,本次唤醒所用的参数等。 |
| int MSPAPI | QIVWSessionEnd(const char *sessionID, const char *hints)结束本次语音唤醒。 |
| int MSPAPI | QIVWAudioWrite(const char *sessionID, const void *audioData, unsigned int audioLen, int audioStatus)写入本次唤醒的音频,本接口需要反复调用直到音频写完为止。 |
| int MSPAPI | QIVWRegisterNotify(const char *sessionID, ivw_ntf_handler msgProcCb, void *userData)注册回调。 |
| 参数 | 参数说明 | 是否必要 |
|---|---|---|
| sst | 业务类型。唤醒业务类型,可以设置如下参数: wakeup:语音唤醒(默认) oneshot:唤醒加识别 | 是 |
| ivw_threshold | 唤醒词门限。 设置格式如下: id0:xx;id1:xx;….。 示例:0:1450;1:1450表示设置第一个唤醒词的门限值为1450,第二个唤醒的门 限值是1450,门限值越低越容易唤醒成功。 注意:建议唤醒引擎门限值设为1450,且取值范围为非负数,一般可在0-3000之间调节。 | 否 |
| ivw_shot_word | 音频是否包含唤醒词。 用于唤醒加识别时场景,将音频送入识别引擎时是否包含唤醒词音频: 0:不包含,1:包含(默认) | 否 |
| 枚举常量 | 简介 |
|---|---|
| MSP_AUDIO_SAMPLE_FIRST = 1 | 第一块音频 |
| MSP_AUDIO_SAMPLE_CONTINUE = 2 | 还有后继音频 |
| MSP_AUDIO_SAMPLE_LAST = 4 | 最后一块音频 |
| 参数 | 说明 |
|---|---|
| sessionID | 由QIVWSessionBegin返回的句柄。 |
| msg | MSP_IVW_MSG_WAKEUP=1 唤醒消息,在info中给出唤醒结果缓存首地址,param2 给出唤醒结果的长度。 MSP_IVW_MSG_ERROR=2 出错通知消息,在param1 中给出错误码。 MSP_IVW_MSG_ISR_RESULT=3 唤醒+识别结果消息,在info 中给出识别结果缓存首地址,param2 给出识别结果的长度。param1 中给出给出结果状态,结果状态值参见QISRAudioWrite接口中结果状态说明。 MSP_IVW_MSG_ISR_EPS=4 唤醒+识别结果中vad 端点检测消息,param1 给出端点检测状态,状态值参见QISRAudioWrite接口中端点检测状态说明。 |
| param1 | 参见msg 消息说明 |
| param2 | 参见msg 消息说明 |
| info | 参见msg 消 息说明,主要内容包括sst,id,score,bos,eos等 |
| sst | 本次业务标识:wakeup 表示语音唤醒;enroll 表示唤醒词训练(当前版本不支持) |
| id | 当前唤醒词的id |
| keyword | 当前唤醒词。注:中文唤醒词返回的是拼音,例:ding1dong1ding1dong1 |
| score | 当前唤醒得分 |
| bos | 当前唤醒音频的前端点 |
| eos | 当前唤醒音频的尾端点 |
| userData | 用户数据 |