Skip to content

PaddleSpeech Server RESTful API

liangym edited this page Jan 26, 2022 · 34 revisions

PaddleSpeech语音服务接口定义

1. 服务使用说明

下述定义了几种语音任务的服务接口,包括语音识别服务,语音合成服务等。

1.1 请求方式

如无特殊声明,统一使用HTTP POST方法application/json格式;除附带请求字段说明,所有的请求字段均必有。

1.2 返回格式

正常情况下都会返回HTTP 200状态码,结果同样是application/json格式。

字段 必选 类型 说明
success bool 表示请求成功与否
code int 错误码。success=true 的时候,code 必然为 0。success=false 的时候,code 为具体的错误码。
message json 用来描述错误信息
requestId string 一次请求的唯一标识,作trace用
result json 具体的返回内容,在每个接口会详细阐述
{
    "success": true,
    "code": 0,
    "message": {"description": "everything is ok"},
    "requestId": "0543d7a8-87f2-451f-91b1-2b8d240170d6",
    "result": XXX // 具体返回内容,在每个接口会详细阐述。
}

2. ASR(语音识别)

2.1 获取ASR服务使用方式

  • url:GET /paddlespeech/asr/help

  • 返回固定 result 描述 (TODO)

{
    "success": true,
    "code": 0,
    "message": {"global": "success" },
    "result": {
	"description":"",
	"input": <wavfile>,
        "output": <results>
    }
}

2.2 语音识别

  • url:POST /paddlespeech/asr
  • 请求body参数
字段 必选 类型 说明
audio string 将音频文件进行 base64编码后得到的 string
audio_format string 合成音频文件格式,可选:pcm、wav,默认值:wav
sample_rate int 音频的采样率,值选择 [8000, 16000],默认与模型采样率一致
lang string 语种 zh_cn:中文; zh_tw: 台湾普通话; en_us:英文
punc bool 是否开启标点符号添加 true:开启 false:关闭(默认值)
  • 请求示例
{
    "audio": "exSI6ICJlbiIsCgkgICAgInBvc2l0aW9uIjogImZhbHNlIgoJf...",
    "audio_format": "wav",
    "sample_rate": 16000,
    "lang": "zh_cn",
    "punc": 0
}
  • 返回result描述
字段 必选 类型 说明
transcription string asr识别结果
  • 返回示例
{
    "success": true,
    "code": 0,
    "message": {"description": "success" }
    "result": {
	"transcription": "你好,飞桨"
    }
}

3. TTS(语音合成)

3.1 获取TTS服务使用方式

  • url:GET /paddlespeech/tts/help

  • 返回固定 result 描述

{
    "success": true,
    "code": 0,
    "message": {"global": "success" },
    "result": {
        "description":"",
        "input": <sentence to be synthesized>,
	"output": <wavfile>
    }
}

3.2 合成语音

  • url:POST /paddlespeech/tts
  • 请求body参数
字段 必选 类型 说明
text string 待合成文本
spk_id int 发音人id,未使用到,默认:0
speed float 合成音频的语速,值范围:(0,3],默认:1.0
volume float 合成音频的音量,值范围:(0,3],默认:1.0
sample_rate int 合成音频的采样率,只支持下采样,值选择 [0, 8000, 16000],默认:0,表示与模型采样率一致
save_path string 通过此参数,可以在合成完成后在本地保存一个音频文件,默认值:None,表示不保存音频
audio_format string 合成音频的文件格式(转base64的音频),可选:pcm、wav,默认值:wav
  • 请求示例
{
    "text": "你好,欢迎使用百度飞桨深度学习框架!",
    "spk_id": 0,
    "speed": 1.0,
    "volume": 1.0,
    "sample_rate": 0,
    "save_path": "./tts.wav",
    "audio_format": "wav"	
}
  • 返回result描述
字段 必选 类型 说明
lang string 待合成文本语言(zh or en)
sample_rate int 合成音频的采样率
spk_id int 发音人id
speed float 合成音频的语速,值范围:[0,3]
volume float 合成音频的音量,值范围:[0,3]
save_path string 保存的合成音频路径
audio string 合成音频的base64
  • 返回示例
{
    "success": true,
    "code": 0,
    "message": {"global": "success" }
    "result": {
	"lang": "zh",
	"spk_id": 0,
	"speed": 1.0,
	"volume": 1.0,
	"sample_rate": 24000,
	"save_path": "./tts.wav",
	"audio": "LTI1OTIuNjI1OTUwMzQsOTk2OS41NDk4..."
    }
}

4. CLS(声音分类)

TODO

5. ST(语音翻译(英-中))

TODO

6. Text(文本后处理)

TODO

错误码

待更新完善

code 类型类型 说明
200 int 服务正常
400 int 请求参数设置不正确
404 int 网址不正确
500 int 内部错误
502 int 内部网络IO异常
509 int 未知错误
Clone this wiki locally