ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 4.1.2、语音解析API文档 </br> ## 4.1.2.1 ParserTextBySystemRecordModule * 概要 从系统中录音,检测有效的声音输入然后解析成文字。 * 构造器 | **函数原型** | ParserTextBySystemRecordModule( boost::shared_ptr\<FindVailVoiceParam\> findVailVoiceParam, bool isEnglist, std::string tipFile, int playTipMilli) | |--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------| | **参数** | **说明** | | findVailVoiceParam | 从录音中判断检测到有效音频录入条件 | | isEnglist | 是否识别为英文。否则为中文 | | tipFile | 识别慢,播放友好的提示声的文件路径 | | playTipMilli | 找到有效音频后超过多少毫秒还没识别成文字,开始播放识别的中的提示声。 | ###### b. | **函数原型** | ParserTextBySystemRecordModule() | |--------------------|------------------------------------------------------------------------------------------| | **默认参数** | **说明** | | findVailVoiceParam | (300, 250, 600, 0, 0.02, 6 \* 1000, 1),请查看 4.1.2.3节 FindVailVoiceParam | | isEnglist | false | | tipFile | "./resource/tipSound/ParserSound.wav" | | playTipMilli | 800 | * listener开始监听和识别文字 | **函数原型** | ResultEntry listener() | |--------------------------------------|----------------------------------------------------------------------------------------| | **参数** | **说明** | | **返回** | | | ResultEntry | 识别到的结果,请参考 4.1.2.2节 | | **备注** | 需要系统音频和语音处理先初始化完毕,请参考4.1.2.4节ConfigInitFactory的api | * stop终止识别 | **函数原型** | void stop() | |--------------|-------------| </br> ## 4.1.2.2、 ResultEntry 处理结果 * getType处理结果状态 | **函数原型** | enum ResultType getType() | |-----------------------------------------------|---------------------------| | **返回** | | | ResultType | 处理结果状态码 | * getStr语义理解的回答 | **函数原型** | std::string getText() | |--------------|-------------------------------------------------------------------| | **返回** | | | std::string | 返回的文字,只有getType ()的状态是resultTypeSucess,该值才会存在。 | * ResultType处理结果状态码的枚举 | **枚举常量** | **简介** | |-------------------------|----------| | resultTypeSucess | 成功 | | resultTypeInternetError | 网络错误 | | resultTypeOtherError | 其他错误 | </br> ## 4.1.2.3、 FindVailVoiceParam * 概要 识别为有效音频的参数 * 构造器 | **函数原型** | FindVailVoiceParam( int extractCachePrevHeadMillisecondsData, int discoverVadVailVoiceContinueMilliseconds, int unDiscoverVadVailVoiceContinueMilliseconds, int kipHeadFindSoundMillseconds, double bufferSeconds, int maxOnceVailVoiceMillceconds, int vailDb) | |--------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **参数** | **说明** | | extractCachePrevHeadMillisecondsData | 提取缓存中前面多少毫秒的数据送往下一个处理流程 | | discoverVadVailVoiceContinueMilliseconds | 判断识别为有效音频的连续毫秒数 | | unDiscoverVadVailVoiceContinueMilliseconds | 判断有效音频后连续多少毫秒无效音频输入作为有效音频结束 | | bufferSeconds | 每一次格式化的缓存大小的秒数,建议为20ms | | maxOnceVailVoiceMillceconds | 一个最大的有效音频总长度,如果噪声一直输入,则到最大有效音频就断掉,避免一直持续输入出现假死的情况 | | vailDb | 有效的阀值判断 </br> ## 4.1.2.4、 ConfigInitFactory * 概要 各个组件初始化实现的工厂 * getAudioInit播放和录制的初始化实现 | **函数原型** | static boost::shared_ptr\<ConfigInitInterface\> getAudioInit() | |---------------------|----------------------------------------------------------------| | **参数** | **说明** | | **返回** | | | ConfigInitInterface | 初始化的接口 | * getSpeechInit 语音识别与合成初始化实现 | **函数原型** | static boost::shared_ptr\<ConfigInitInterface\> getSpeechInit(std::string appid, std::deque\<std::string\> words) | |---------------------|-------------------------------------------------------------------------------------------------------------------| | **参数** | **说明** | | appid | 讯飞语音开发平台对应的appid,请自行前往讯飞语音开发平台申请,网址是http://www.xfyun.cn/?ch=bdtg | | words | 优先识别词的集合(可添加自己公司的名称等) | | **返回** | | | ConfigInitInterface | 初始化的接口