6-外部系統接口
IR1:國金應用系統
通過接口調用航信
的音頻適配服務
IR2:航信音頻適配服務
調用統一存儲上的音頻文件
,並進行轉碼操作
IR3:航信音頻適配服務
調用語音能力平臺提供的轉寫服務
,進行音頻轉寫
IR4:語音能力平臺
將轉寫後的結果返回給音頻適配服務
IR5:國金應用系統
通過接口服務
調用航信模型處理系統
IR6:航信模型處理系統
將模型匹配
後的結果存儲在Onest
上。
6.1-外部系統說明
6.1.1-國金應用系統
國金應用系統
主要提供系統應用功能建設
和系統分析功能建設
,
同時完成與相關外部系統的接口交互。
整體上由國金方
負責完成。
6.1.2-語音能力平臺
語音能力平臺
提供核心的通用語音轉寫能力
,
爲應用系統提供音頻轉寫服務
。
由航信
的能力平臺團隊
負責完成。
6.1.3統一存儲平臺
統一存儲平臺
爲各系統提供統一的存儲能力
,
需要具備一定的可靠性
和IO性能
。
由地稅局方面
負責完成。
6.2-外部系統間接口定義
6.2.1-國金應用系統與統一能力平臺之間
6.2.1.1-音頻轉寫再處理接口
接口描述:
對能力平臺轉寫後的結果進行二次處理,
計算語速,音量,靜音位置,
並生成xml文件。
此接口是以工具包
的形式提供,
國金的系統裏面需要集成此工具包。
工具包由航信提供。
接口名稱:ISATransService
協議:Http
實現:Restful
報文:Json
請求參數:
名稱 | 類型 | 是否必須 示例值 | 描述 |
---|---|---|---|
fromFile | String | 是 | /home/voice/temp.xml |
toFile | String | 是 | /home/voice/result.xml |
請求參數示例:
{
" fromFile": "/home/voice/temp.xml",
" toFile": "/home/voice/result.xml"
}
輸出參數:
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
---|---|---|---|---|
successful | String | 是 | True,false | 轉寫成功標記 |
value | String | 是 | “轉寫成功” | 提示語 |
errorMsg | String | 否 | “源文件不存在” | 失敗原因 |
說明:fromFile
文件的格式請參照附件8.3
toFile
文件的格式請參照附件8.4
從這裏的意思可以看出,引擎轉寫之後的文件是temp.xml
二次處理工具包,也就是這個ISATransService要進行二次處理的。
把這個temp.xml變成result.xml,然後才能告訴別人轉寫到底是成功的,還是失敗的。
這個二次處理的時候要計算語速,音量和靜音位置的。
然後前端的系統要把航信的二次處理工具包集成到自己的系統當中。
6.2.2-航信音頻適配系統與語音能力平臺之間(能力平臺封裝)
6.2.2.1-離線音頻轉寫接口
接口描述:
對提供的音頻流
調用能力平臺,進行語音轉寫,
並將轉寫後的結果封裝成xml格式的文件存放在Onest上
接口名稱:recognizeService
協議:Http
實現:Restful
報文:Json
請求參數:
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
---|---|---|---|---|
fromFile | String | 是 | /home/voice/test.wav | 源文件路徑 |
toFile | String | 是 | /home/voice/temp.xml | 目標文件路徑 |
請求參數示例:
{
" fromFile": "/home/voice/test.wav",
" toFile": "/home/voice/temp.xml"
}
返回參數:
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
---|---|---|---|---|
successful | String | 是 | true | 轉寫成功標記 |
errMsg | String | 否 | “轉寫失敗” | 錯誤原因 |
返回參數示例:
{
"successful": "true",
" errMsg": ""
}
說明:toFile文件的格式參照附件8.3
6.2.2.2-離線音頻批量轉寫接口
接口描述:對提供的批量音頻文件,調用能力平臺,進行語音轉寫,並將轉寫後的結果封裝成xml格式的文件存放在Onest上
接口名稱:batchRecognizeService
協議:Http
實現:Restful
報文:Json
請求參數:
名稱 類型 是否必須 示例值 描述
fromFile String 是 /home/voice/batch.txt 批處理文件路徑,具體格式參照附件8.6
請求參數示例:
{
” fromFile”: “/home/voice/batch.txt”
}
返回參數:
名稱 類型 是否必須 示例值 描述
successful String 是 true 受理成功標記
errMsg String 否 “批處理文件不存在” 錯誤原因
返回參數示例:
{
"successful": "true",
" errMsg": ""
}
說明:
fromFile中會指定錄音的位置和轉寫後的存放路徑,
此接口服務轉寫後,按照指定的路徑存放
6.2.3-國金應用系統與航信模型處理系統之間
6.2.3.1-模型預覽接口
接口描述:對提供的轉寫文本信息進行模型規則的匹配,輸出匹配結果。
接口名稱:modelPreviewService
協議:Http
實現:Restful
報文:Json
請求參數:
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
---|---|---|---|---|
fromFile | String | 是 | /home/voice/voice.txt | 錄音信息文件位置 |
toFile | String | 是 | /home/voice/voiceMatch.txt | 匹配結果存放路徑 |
textRuleGroup | String | 是 | (1&2)/3 | 文本規則組合 |
textRule | List | 是 | 參考示例 | 模型文本規則 |
speedRuleGroup | String | 否 | (1&2)/3 | 語速規則組合 |
speedRule | List | 否 | 參考示例 | 模型語速規則 |
energyRuleGroup | String | 否 | (1&2)/3 | 音量規則組合 |
energyRule | List | 否 | 參考示例 | 模型音量規則 |
silenceRuleGroup | String | 否 | (1&2)/3 | 靜音規則組合 |
silenceRule | List | 否 | 參考示例 | 模型靜音規則 |
請求參數示例:
{
"fromFile": "/home/voice/test.txt",
"toFile": "/home/voice/voiceMatch.txt",
"textRule": "(1&2)|3",
"textRule": {
"1": "你#好", //#號表示文本之間的距離
"2":"寬帶#辦理",
"3": "彩鈴#取消"
},
"speedRuleGroup": "1&2",
"speedRule": {
"1": "n0>20", //左聲道語速大於20
"2":"n1<50" //右聲道語速小於50
},
"energyRuleGroup": "1&2",
"energyRule": {
"1": "n0>20",
"2":"n1<50"
},
"silenceRuleGroup": "1&2",
"silenceRule": {
"1": "n0>5", //左聲道靜音大於5秒
"2":"n1<100" //右聲道靜音小於100秒
}
}
返回參數:
名稱 類型 是否必須 示例值 描述
sucessful String 是 true 是否受理
value String 是 “已受理” 返回信息
errMsg String 是 “模型規則錯誤” 失敗原因
返回參數示例:
{
"succcessful": "true",
"value": "受理成功",
"errMsg": ""
}
說明:
fromFile的文本格式參見附件8.1
toFile的文本格式參見附件8.2
其中轉寫文件的格式請參考接口6.2.1.2 ISA轉寫接口
6.2.3.2-模型上線接口
接口描述:
對模型規則進行存儲,並返回存儲成功狀態。
對於存儲成功的模型,後續爲進行錄音信息數據的匹配
接口名稱:modelOnLineService
協議:Http
實現:Restful
報文:Json
請求參數:
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
---|---|---|---|---|
modelId | String | 是 | 685 | 模型id |
startTime | date | 否 | 2017-06-07 | 模型開始生效時間 |
endTime | date | 否 | 2017-10-07 | 模型失效時間 |
textRuleGroup | String | 是 | (1&2)/3 | 文本規則組合 |
textRule | List | 是 | 參考示例 | 模型文本規則 |
speedRuleGroup | String | 否 | (1&2)/3 | 語速規則組合 |
speedRule | List | 否 | 參考示例 | 模型語速規則 |
energyRuleGroup | String | 否 | (1&2)/3 | 音量規則組合 |
energyRule | List | 否 | 參考示例 | 模型音量規則 |
silenceRuleGroup | String | 否 | (1&2)/3 | 靜音規則組合 |
silenceRule | List | 否 | 參考示例 | 模型靜音規則 |
請求參數示例:
{
"modelId": "685",
"startTime": "2017-07-10",
"endTime": "2017-08-10",
"textRule": "(1&2)|3",
"textRule": {
"1": "你#好", //#號表示文本之間的距離
"2":"寬帶#辦理",
"3": "彩鈴#取消"
},
"speedRuleGroup": "1&2",
"speedRule": {
"1": "n0>20", //左聲道語速大於20
"2":"n1<50" //右聲道語速小於50
},
"energyRuleGroup": "1&2",
"energyRule": {
"1": "n0>20",
"2":"n1<50"
},
"silenceRuleGroup": "1&2",
"silenceRule": {
"1": "n0>5", //左聲道靜音大於5秒
"2":"n1<100" //右聲道靜音小於100秒
}
}
返回參數:
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
---|---|---|---|---|
sucessful | String | 是 | true | 是否受理 |
value | String | 是 | “上線成功” | 返回信息 |
errMsg | String | 是 | “模型規則錯誤” | 失敗原因 |
返回參數示例:
{
"succcessful": "true",
"value": "上線成功",
"errMsg": ""
}
說明:模型上線成功後,航信系統會不斷輪詢任務目錄,如果發現了新的任務文件,會根據模型規則進行匹配。任務文件的格式參照附件8.1
6.2.3.3-模型下線接口
接口描述:
對模型進行下線處理,並返回下線處理狀態。對於下線的模型,後續不會進行錄音信息數據的匹配
接口名稱:modelOfflineService
協議:Http
實現:Restful
報文:Json
請求參數:
名稱 類型 是否必須 示例值 描述
modelId String 是 685 模型id
請求參數示例:
{
"modelId": "685"
}
返回參數:
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
---|---|---|---|---|
sucessful | String | 是 | true | 是否受理 |
value | String | 是 | “下線成功” | 返回信息 |
errMsg | String | 是 | “模型id不存在” | 失敗原因 |
返回參數示例:
{
"succcessful": "true",
"value": "下線成功",
"errMsg": ""
}
6.2.3.4-自定義數據模型篩選接口
接口描述:
對指定的模型id進行自定義錄音信息數據的匹配,
返回模型匹配結果。
接口名稱:modelMatchService
協議:Http
實現:Restful
報文:Json
請求參數
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
---|---|---|---|---|
fromFile | String | 是 | /home/voice/task.txt | 自定義錄音數據,格式參照附件8.1 |
toFile | String | 是 | /home/voice/result.txt | 模型匹配結果文件,格式參照附件8.2 |
modelId | String | 是 | 685,687,789 | 模型id,用逗號隔開 |
請求參數示例
{
"fromFile": "/home/voice/task.txt",
"toFile": "/home/voice/result.txt",
" modelId": "685,687,789"
}
返回參數:
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
---|---|---|---|---|
sucessful | String | 是 | true | 是否受理 |
value | String | 是 | “受理成功” | 返回信息 |
errMsg | String | 是 | “模型id不存在” | 失敗原因 |
返回參數示例:
{
"succcessful": "true",
"value": "受理成功",
"errMsg": ""
}