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": ""
}