# 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 | 初始化的接口
- 1、簡介
- 2、運行環境
- 3、語義理解
- 3.1、語義理解效果展示
- 3.2、語義理解API文檔
- 3.3、語義理解指令接口文檔
- 3.4、語義理解示例
- 4、高級語音
- 4.1、語音解析
- 4.1.1、語音解析效果展示
- 4.1.2、語音解析API文檔
- 4.1.3、語音解析用法用例
- 4.2、語音合成
- 4.2.1、語音合成效果展示
- 4.2.2、語音合成API文檔
- 4.2.3、語音合成用法用例
- 4.3、音樂播放
- 4.3.1、音樂播放API文檔
- 4.3.2、音樂播放用法用例
- 4.4、高級項目示例
- 5、語音喚醒
- 5.1、語音喚醒效果展示
- 5.2、語音喚醒API文檔
- 5.3、語音喚醒用法用例
- 5.4、語音喚醒示例項目
- 6、常見的業務需求實現的示例
- 6.1、業務實現邏輯概要順序
- 6.2、概要代碼
- 6.3、項目示例
- 7、自定義高級語言
- 8、選擇合適的開發工具說明
- 9、項目打開方式
- 10、項目依賴
- 11、常見問題
- 12、文檔版本
- 13、聯系方式
- 14、版權說明