Server接入(旧)

该技术服务已迁移至思必驰开放平台,本文档于2020年8月25日停止更新。最新版请查看:https://cloud.aispeech.com/docs/ct_asr_sentence

一 功能介绍

一句话识别对时长较短(60秒以内)的语音进行识别,非实时的返回识别结果。适用于较短的语音交互场景,如语音搜索、语音指令、语音短消息等,可集成在各类App、智能家电、智能助手等产品中。支持:

  • 可用于基于协议开发的:轻量级嵌入式设备;采用云对云的方式,接入DUI实时语音转写服务的产品;
  • 支持pcm,wav, ogg(speex), ogg_opus, mp3格式的音频识别;
  • 支持语言模型等特殊配置,请联系商务或项目经理进行定制,或联系:asrsupport_service@aispeech.com(邮件中请提供联系方式和需求详细描述)。

二 调用限制

集成一句话识别API时,需按照以下要求:

内容 说明
请求协议 http[s]
接口鉴权 详见:接口鉴权
字符编码 UTF-8
响应格式 统一采用JSON格式
开发语言 任意,只要可以向思必驰录音文件转写服务发起http请求即可
音频属性 采样率16k、位长16bits、单声道
音频时长 不超过60秒
音频格式 pcm,wav, ogg(speex), ogg_opus, mp3
语言种类 中文普通话
并发路数 默认20路并发

三 接入流程

3.1 流程说明

  1. 注册DUI账号并进行实名认证,点此进行注册:注册DUI账号
  2. 在DUI控制台上创建基础技术产品,并完成产品授权;
  3. 完成一句话识别服务接口鉴权
  4. 调用一句话识别接口,实现语音识别功能。

3.2 产品创建与授权

3.2.1 创建基础技术产品

集成一句话识别API,需要先创建基础技术服务产品。

  1. 登录DUI控制台后,点击导航栏的【基础技术】,进入基础技术产品列表页。
  2. 在列表页,点击【基础技术接入】,创建基础技术产品。
  3. 选择需要接入的一句话识别服务。

3.2.2 产品授权

  1. 进入基础技术产品详情页, 点击【授权管理】,进入授权页。
  2. 在授权页,根据业务需求,选择授权方式。云端对云端的情况请选择 【服务授权】。
  3. 选择【配置IP白名单】,填写需要调用识别服务的IP地址,提交后,会生成授权所需的APIkey。

3.3 服务接口鉴权

详见:接口鉴权

四 接口调用

4.1 调用流程

  1. 用户使用HTTP的POST协议,同时把音频参数、控制参数,和音频流一起通过请求发送给API服务。(音频文件限制在1分钟且5M之内)。
  2. 一句话转写服务在本次请求内完成转写,并把转写结果以HTTP响应的方式返回到客户端。

【请求地址】:<LASR_SERVER>/lasr-sentence-api/v2/sentence?productId={PRODUCT_ID}&apiKey={API_KEY}

【<LASR_SERVER>】:lasr.duiopen.com

【请求方式】:HTTP POST

【请求类型】:Content-Type: multipart/form-data; boundary=${bound}

4.2 参数说明

参数 类型 是否必须 说明
productId string 产品ID,唯一。
apiKey string 云对云鉴权apikey,URL鉴权参数。
params string 音频参数和控制参数的JSON字符串,具体格式详见下文。
file File 音频文件的二进制流。

 

【示例】

{
  request_id: "request-id-in-uuid", // 可选, 请求唯一ID
  audio: {
    audio_type: "wav",    // 音频类型,必填。 支持:pcm,wav, ogg(speex), ogg_opus, mp3
    sample_rate: 16000,   // 音频采样率,必填。
    channel: 1,           // 音频通道数,必填。
    sample_bytes: 2,      // 音频采样精度,必填。单位:字节数
  },
  asr: {
    lang: "cn",           // cn(默认值, 中文)
    use_vad: true,        // 是否启用VAD功能。 默认:true。如果关闭,会跳过音频分割,直接进入识别流程。
    vad_pause: 0,         // 切割间隔时间,默认值:500,单位:毫秒。
    use_post: true,       // 是否启用所有后处理功能。 默认:true。如果关闭,会以原始的asr结果返回。
    use_fullstop: true,   // 开启后处理时,是否使用中文句号来进行分句。 默认:false。
    use_segment: false,   // 是否返回详细的分词结果。默认:false。如果开启,返回的result会以词为单位返回。
    lm_id: "default",     // 要使用的二路模型LMID。默认:"", 表示不使用二路资源。如需训练二路模型,请联系商务或项目经理获取服务。  
    use_itn:false,        // 开启后处理时,是否启用逆文本转换,默认:false。 
    use_pinyin:false,     // 开启后处理时,是否返回每个句子和词的拼音,默认:false。只对中文生效

      }
}

4.3 请求示例

curl
  -X POST \
  -H "Content-Type: multipart/form-data"  \
  -F params='{"request_id": "request-id-in-uuid","audio": {"audio_type": "wav","sample_rate": 16000,"channel": 1,"sample_bytes": 2}}' \
  -F file=@file_path \
  "http[s]://lasr.duiopen.com/lasr-sentence-api/v2/sentence?productId={PRODUCT_ID}&apiKey={API_KEY}"

4.4 响应结果

{
  errno: 0,
  error: "",
  data: {
    session_id: "5e548cf5d992b626aceea8e5",                //服务器响应唯一ID
    request: {
      audio: {
        audio_type: "wav",
        channel: 1,
        sample_bytes: 2,
        sample_rate: 16000
      },
      duration: 91718,                                      // 音频时长
      length: 2935034,                                      // 音频文件长度
      request_id: "92634b3b04dd41e3bcd966758dcc8d3c"
    },
    result: [                 //正常的识别分句结果
      {
        bg: 1850,
        ed: 12980,
        onebest: ""
      },
      {
        bg: 1850,
        ed: 12980,
        onebest: ""
      },
      ...
    ],
    segments: [               //当打开use_segment参数,会额外返回分词后的结果
      {
        bg: 1850,             //开始时间(ms)
        ed: 12980,            //结束时间(ms)果
        onebest: "",          //识别文本
        pinyin: "",           //文本对应的拼音,use_pinyin = true时生效
        wp: "n"               //词性。 n普通词、s口语顺滑词标识、p标点词标识。需要use_segment且use_post打开生效。
      },
      {
        bg: 1850,
        ed: 12980,
        onebest: "",
        pinyin: "",
        wp: "n"
      },
      ...
    ]
  }
}

五  错误码

5.1 识别服务错误码

转写任务的结果中,当errno=0时,有正常的任务数据data属性,当errno不等于0时,data为null。具体含义如下:

errno

error

说明

1 internal error 服务器内部错误
2 method %s not allowed. 请求方法错误
10 %s is empty or not exists. current: %s 客户端参数缺失
13 unknown request path: %s 未知的请求路径
521 asr failed. 转写失败,原因详见error字段

5.2 连接错误码

http状态码 报文 报文解释
401

{"errId":"120000","errMsg":"apikey auth verify error"}

鉴权失败
403

{"errId":"120100","errMsg":"ocs check error"}

产品达到使用量上限,用量管控
403

{"errId":"120200","errMsg":"limit connection reach the limit"}

产品触发流控

六 常见问题

1、一句话识别支持哪些平台?

支持Server方式接入(指通过服务对接方式接入)、Android和ios(指通过设备对接方式接入)接入。

 

2、如何试用服务和购买服务?

您可以直接购买一句话识别服务套餐。套餐量越大越优惠。点此了解:产品服务定价

如果有更大量的需求,请线下联系商务或联系asrsupport_service@aispeech.com(邮件中请提供联系方式和需求详细描述)。

 

3、 支持的音频格式和语言?

  • 支持中文普通话
  • 支持pcm,wav, ogg(speex), ogg_opus, mp3等多种格式音频
  • 16k 16bit 单声道

 

4、 购买了调用次数,还有剩余量就提示没有用量,无法继续用服务,是什么原因?

您可以现在DUI控制台-基础技术产品详情页,查看剩余使用量是否已经过期。套餐过期情况下,也是无法使用识别服务的。

如不符合上述描述情况,您可以联系我们项目经理或提工单,让技术人员帮您分析原因并解决。