ASRT的API接口同时支持一句话识别和实时流式识别。

1. 基于HTTP+JSON的RESTful风格API接口

ASRT项目使用了flask包来实现了一个新的基于http协议的API服务器。通过将声学模型和语言模型连接起来,使用该服务器程序,可以直接实现一个简单的API服务器,通过POST方式进行数据交互。

1.1 API接口URL和参数说明

1.1.1 仅声学模型

  • URL: http://<domain name or ip>:20001/speech
  • 方法:POST
  • Request 参数列表:
参数名 说明
samples 一个包含了全部 wav raw 语音波形信号二进制值且由base64_urlsafe进行了编码的字符串
sample_rate 指示传送的wav波形信号的频率是多少,单位:Hz,例如:16000
channels 指示传送的wav波形信号的通道数,例如:1
byte_width 指示传送的wav波形信号的字节宽度 (注意不是位宽),例如:2
  • Response 参数列表
参数名 说明
status_code 语音识别API服务调用状态码
status_message 语音识别API服务调用状态文本
result 语音识别API服务调用结果,这里为声学模型输出的拼音列表

1.1.2 仅语言模型

  • URL: http://<domain name or ip>:20001/language
  • 方法:POST
  • Request 参数列表:
参数名 说明
sequence_pinyin 语音识别声学模型输出的拼音列表,这里用于调用拼音转文本的语言模型
  • Response 参数列表
参数名 说明
status_code 语音识别API服务调用状态码
status_message 语音识别API服务调用状态文本
result 语音识别API服务调用结果,这里为语言模型输出的最终文本

1.1.3 完整一句话识别 (声学模型+语言模型)

  • URL: http://<domain name or ip>:20001/all
  • 方法:POST
  • Request 参数列表:
参数名 说明
samples 一个包含了全部 wav raw 语音波形信号二进制值且由base64_urlsafe进行了编码的字符串
sample_rate 指示传送的wav波形信号的频率是多少,单位:Hz,例如:16000
channels 指示传送的wav波形信号的通道数,例如:1
byte_width 指示传送的wav波形信号的字节宽度 (注意不是位宽),例如:2
  • Response 参数列表
参数名 说明
status_code 语音识别API服务调用状态码
status_message 语音识别API服务调用状态文本
result 语音识别API服务调用结果,这里为语音识别输出的最终文本

1.2 客户端样例代码

参考: https://github.com/nl8590687/ASRT_SpeechRecognition/blob/master/client_http.py

2. 基于gRPC+Protobuf协议的API接口

2.1 协议定义

API接口定义文件请参考:
https://github.com/nl8590687/ASRT_SpeechRecognition/blob/master/assets/asrt.proto
所有以该协议文件的定义内容生成的gRPC代码均可调用ASRT语音识别的gRPC协议API接口。

默认监听端口:20002

2.1.1 仅声学模型

  • RPC方法:
    rpc Speech (SpeechRequest) returns (SpeechResponse) {}

2.1.2 仅语言模型

  • RPC方法:
    rpc Language (LanguageRequest) returns (TextResponse) {}

2.1.3 完整一句话、短语音识别 (声学模型+语言模型)

  • RPC方法:
    rpc All (SpeechRequest) returns (TextResponse) {}

2.1.4 实时或长语音模式的流式语音识别 (声学模型+语言模型)

  • RPC方法:
    rpc Stream (stream SpeechRequest) returns (stream TextResponse) {}

2.2 客户端样例代码

参考: https://github.com/nl8590687/ASRT_SpeechRecognition/blob/master/client_grpc.py

文档更新时间: 2022-05-10 19:42   作者:AI柠檬