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
作者:AI柠檬 创建时间:2022-02-09 19:22
更新时间:2024-12-24 00:12
更新时间:2024-12-24 00:12