4.1.2语音解析API文档
# 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 | 初始化的接口