Skip to content

Commit bc6d10b

Browse files
committed
update readme, test=doc
1 parent 29a25b8 commit bc6d10b

File tree

8 files changed

+69
-85
lines changed

8 files changed

+69
-85
lines changed

demos/speech_server/README.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@
55
## Introduction
66
This demo is an implementation of starting the voice service and accessing the service. It can be achieved with a single command using `paddlespeech_server` and `paddlespeech_client` or a few lines of code in python.
77

8+
For service interface definition, please check:
9+
- [PaddleSpeech Server RESTful API](https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-RESTful-API)
10+
811

912
## Usage
1013
### 1. Installation
1114
see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md).
1215

13-
It is recommended to use **paddlepaddle 2.2.2** or above.
16+
It is recommended to use **paddlepaddle 2.3.1** or above.
1417
You can choose one way from meduim and hard to install paddlespeech.
1518

1619
### 2. Prepare config File
@@ -54,7 +57,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
5457
[2022-02-23 11:17:32] [INFO] [on.py:38] Application startup complete.
5558
INFO: Uvicorn running on http://0.0.0.0:8090 (Press CTRL+C to quit)
5659
[2022-02-23 11:17:32] [INFO] [server.py:204] Uvicorn running on http://0.0.0.0:8090 (Press CTRL+C to quit)
57-
5860
```
5961

6062
- Python API
@@ -77,7 +79,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
7779
[2022-02-23 14:57:56] [INFO] [on.py:38] Application startup complete.
7880
INFO: Uvicorn running on http://0.0.0.0:8090 (Press CTRL+C to quit)
7981
[2022-02-23 14:57:56] [INFO] [server.py:204] Uvicorn running on http://0.0.0.0:8090 (Press CTRL+C to quit)
80-
8182
```
8283

8384

@@ -162,7 +163,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
162163
[2022-02-23 15:20:37,875] [ INFO] - Save synthesized audio successfully on output.wav.
163164
[2022-02-23 15:20:37,875] [ INFO] - Audio duration: 3.612500 s.
164165
[2022-02-23 15:20:37,875] [ INFO] - Response time: 0.348050 s.
165-
166166
```
167167

168168
- Python API
@@ -192,7 +192,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
192192
{'description': 'success.'}
193193
Save synthesized audio successfully on ./output.wav.
194194
Audio duration: 3.612500 s.
195-
196195
```
197196

198197
### 6. CLS Client Usage
@@ -201,7 +200,7 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
201200

202201
If `127.0.0.1` is not accessible, you need to use the actual service IP address.
203202

204-
```
203+
```bash
205204
paddlespeech_client cls --server_ip 127.0.0.1 --port 8090 --input ./zh.wav
206205
```
207206

@@ -220,8 +219,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
220219
```bash
221220
[2022-03-09 20:44:39,974] [ INFO] - {'success': True, 'code': 200, 'message': {'description': 'success'}, 'result': {'topk': 1, 'results': [{'class_name': 'Speech', 'prob': 0.9027184844017029}]}}
222221
[2022-03-09 20:44:39,975] [ INFO] - Response time 0.104360 s.
223-
224-
225222
```
226223

227224
- Python API
@@ -241,7 +238,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
241238
Output:
242239
```bash
243240
{'success': True, 'code': 200, 'message': {'description': 'success'}, 'result': {'topk': 1, 'results': [{'class_name': 'Speech', 'prob': 0.9027184844017029}]}}
244-
245241
```
246242

247243

@@ -411,7 +407,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
411407
我认为跑步最重要的就是给我带来了身体健康。
412408
```
413409

414-
415410
## Models supported by the service
416411
### ASR model
417412
Get all models supported by the ASR service via `paddlespeech_server stats --task asr`, where static models can be used for paddle inference inference.

demos/speech_server/README_cn.md

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,22 @@
33
# 语音服务
44

55
## 介绍
6-
这个 demo 是一个启动离线语音服务和访问服务的实现。它可以通过使用`paddlespeech_server``paddlespeech_client`的单个命令或 python 的几行代码来实现。
6+
这个 demo 是一个启动离线语音服务和访问服务的实现。它可以通过使用 `paddlespeech_server``paddlespeech_client` 的单个命令或 python 的几行代码来实现。
77

8+
服务接口定义请参考:
9+
- [PaddleSpeech Server RESTful API](https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-RESTful-API)
810

911
## 使用方法
1012
### 1. 安装
1113
请看 [安装文档](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md).
1214

13-
推荐使用 **paddlepaddle 2.2.2** 或以上版本。
15+
推荐使用 **paddlepaddle 2.3.1** 或以上版本。
1416
你可以从 medium,hard 两种方式中选择一种方式安装 PaddleSpeech。
1517

16-
1718
### 2. 准备配置文件
1819
配置文件可参见 `conf/application.yaml`
1920
其中,`engine_list`表示即将启动的服务将会包含的语音引擎,格式为 <语音任务>_<引擎类型>。
20-
目前服务集成的语音任务有: asr(语音识别)、tts(语音合成)、cls(音频分类)、vector(声纹识别)以及text(文本处理)。
21+
目前服务集成的语音任务有: asr (语音识别)、tts (语音合成)、cls (音频分类)、vector (声纹识别)以及 text (文本处理)。
2122
目前引擎类型支持两种形式:python 及 inference (Paddle Inference)
2223
**注意:** 如果在容器里可正常启动服务,但客户端访问 ip 不可达,可尝试将配置文件中 `host` 地址换成本地 ip 地址。
2324

@@ -55,7 +56,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
5556
[2022-02-23 11:17:32] [INFO] [on.py:38] Application startup complete.
5657
INFO: Uvicorn running on http://0.0.0.0:8090 (Press CTRL+C to quit)
5758
[2022-02-23 11:17:32] [INFO] [server.py:204] Uvicorn running on http://0.0.0.0:8090 (Press CTRL+C to quit)
58-
5959
```
6060

6161
- Python API
@@ -78,7 +78,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
7878
[2022-02-23 14:57:56] [INFO] [on.py:38] Application startup complete.
7979
INFO: Uvicorn running on http://0.0.0.0:8090 (Press CTRL+C to quit)
8080
[2022-02-23 14:57:56] [INFO] [server.py:204] Uvicorn running on http://0.0.0.0:8090 (Press CTRL+C to quit)
81-
8281
```
8382

8483
### 4. ASR 客户端使用方法
@@ -195,7 +194,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
195194
{'description': 'success.'}
196195
Save synthesized audio successfully on ./output.wav.
197196
Audio duration: 3.612500 s.
198-
199197
```
200198

201199
### 6. CLS 客户端使用方法
@@ -206,7 +204,7 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
206204

207205
`127.0.0.1` 不能访问,则需要使用实际服务 IP 地址
208206

209-
```
207+
```bash
210208
paddlespeech_client cls --server_ip 127.0.0.1 --port 8090 --input ./zh.wav
211209
```
212210

@@ -241,7 +239,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
241239
port=8090,
242240
topk=1)
243241
print(res.json())
244-
245242
```
246243

247244
输出:
@@ -258,7 +255,7 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
258255

259256
`127.0.0.1` 不能访问,则需要使用实际服务 IP 地址
260257

261-
``` bash
258+
```bash
262259
paddlespeech_client vector --task spk --server_ip 127.0.0.1 --port 8090 --input 85236145389.wav
263260
```
264261

@@ -276,7 +273,7 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
276273
* test: 测试音频。
277274
输出:
278275

279-
``` bash
276+
```bash
280277
[2022-05-25 12:25:36,165] [ INFO] - vector http client start
281278
[2022-05-25 12:25:36,165] [ INFO] - the input audio: 85236145389.wav
282279
[2022-05-25 12:25:36,165] [ INFO] - endpoint: http://127.0.0.1:8790/paddlespeech/vector
@@ -405,7 +402,6 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
405402
server_ip="127.0.0.1",
406403
port=8090,)
407404
print(res)
408-
409405
```
410406

411407
输出:
@@ -418,10 +414,10 @@ wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav https://paddlespee
418414
通过 `paddlespeech_server stats --task asr` 获取 ASR 服务支持的所有模型,其中静态模型可用于 paddle inference 推理。
419415

420416
### TTS 支持的模型
421-
通过 `paddlespeech_server stats --task tts` 获取 TTS 服务支持的所有模型,其中静态模型可用于 paddle inference 推理。
417+
通过 `paddlespeech_server stats --task tts` 获取 TTS 服务支持的所有模型,其中静态模型可用于 paddle inference 推理。
422418

423419
### CLS 支持的模型
424-
通过 `paddlespeech_server stats --task cls` 获取 CLS 服务支持的所有模型,其中静态模型可用于 paddle inference 推理。
420+
通过 `paddlespeech_server stats --task cls` 获取 CLS 服务支持的所有模型,其中静态模型可用于 paddle inference 推理。
425421

426422
### Vector 支持的模型
427423
通过 `paddlespeech_server stats --task vector` 获取 Vector 服务支持的所有模型。

demos/speech_web/接口文档.md renamed to demos/speech_web/API.md

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ http://0.0.0.0:8010/docs
88

99
### 【POST】/asr/offline
1010

11-
说明:上传16k,16bit wav文件,返回 offline 语音识别模型识别结果
11+
说明:上传 16k, 16bit wav 文件,返回 offline 语音识别模型识别结果
1212

1313
返回: JSON
1414

@@ -26,11 +26,11 @@ http://0.0.0.0:8010/docs
2626

2727
### 【POST】/asr/offlinefile
2828

29-
说明:上传16k,16bit wav文件,返回 offline 语音识别模型识别结果 + wav数据的base64
29+
说明:上传16k,16bit wav文件,返回 offline 语音识别模型识别结果 + wav 数据的 base64
3030

3131
返回: JSON
3232

33-
前端接口: 音频文件识别(播放这段base64还原后记得添加wav头,采样率16k, int16,添加后才能播放)
33+
前端接口: 音频文件识别(播放这段base64还原后记得添加 wav 头,采样率 16k, int16,添加后才能播放)
3434

3535
示例:
3636

@@ -48,7 +48,7 @@ http://0.0.0.0:8010/docs
4848

4949
### 【POST】/asr/collectEnv
5050

51-
说明: 通过采集环境噪音,上传16k, int16 wav文件,来生成后台VAD的能量阈值, 返回阈值结果
51+
说明: 通过采集环境噪音,上传 16k, int16 wav 文件,来生成后台 VAD 的能量阈值, 返回阈值结果
5252

5353
前端接口:ASR-环境采样
5454

@@ -64,9 +64,9 @@ http://0.0.0.0:8010/docs
6464

6565
### 【GET】/asr/stopRecord
6666

67-
说明:通过 GET 请求 /asr/stopRecord, 后台停止接收 offlineStream 中通过 WS协议 上传的数据
67+
说明:通过 GET 请求 /asr/stopRecord, 后台停止接收 offlineStream 中通过 WS 协议 上传的数据
6868

69-
前端接口:语音聊天-暂停录音(获取NLP,播放TTS时暂停
69+
前端接口:语音聊天-暂停录音(获取 NLP,播放 TTS 时暂停
7070

7171
返回: JSON
7272

@@ -80,9 +80,9 @@ http://0.0.0.0:8010/docs
8080

8181
### 【GET】/asr/resumeRecord
8282

83-
说明:通过 GET 请求 /asr/resumeRecord, 后台停止接收 offlineStream 中通过 WS协议 上传的数据
83+
说明:通过 GET 请求 /asr/resumeRecord, 后台停止接收 offlineStream 中通过 WS 协议 上传的数据
8484

85-
前端接口:语音聊天-恢复录音(TTS播放完毕时,告诉后台恢复录音)
85+
前端接口:语音聊天-恢复录音( TTS 播放完毕时,告诉后台恢复录音)
8686

8787
返回: JSON
8888

@@ -100,16 +100,16 @@ http://0.0.0.0:8010/docs
100100

101101
前端接口:语音聊天-开始录音,持续将麦克风语音传给后端,后端推送语音识别结果
102102

103-
返回:后端返回识别结果,offline模型识别结果, 由WS推送
103+
返回:后端返回识别结果,offline 模型识别结果, 由WS推送
104104

105105

106106
### 【Websocket】/ws/asr/onlineStream
107107

108-
说明:通过 WS 协议,将前端音频持续上传到后台,前端采集 16k,Int16 类型的PCM片段,持续上传到后端
108+
说明:通过 WS 协议,将前端音频持续上传到后台,前端采集 16k,Int16 类型的 PCM 片段,持续上传到后端
109109

110110
前端接口:ASR-流式识别开始录音,持续将麦克风语音传给后端,后端推送语音识别结果
111111

112-
返回:后端返回识别结果,online模型识别结果, 由WS推送
112+
返回:后端返回识别结果,online 模型识别结果, 由 WS 推送
113113

114114
## NLP
115115

@@ -202,7 +202,7 @@ http://0.0.0.0:8010/docs
202202

203203
### 【POST】/tts/offline
204204

205-
说明:获取TTS离线模型音频
205+
说明:获取 TTS 离线模型音频
206206

207207
前端接口:TTS-端到端合成
208208

@@ -272,7 +272,7 @@ curl -X 'POST' \
272272

273273
### 【POST】/vpr/recog
274274

275-
说明:声纹识别,识别文件,提取文件的声纹信息做比对 音频 16k, int 16 wav格式
275+
说明:声纹识别,识别文件,提取文件的声纹信息做比对 音频 16k, int 16 wav 格式
276276

277277
前端接口:声纹识别-上传音频,返回声纹识别结果
278278

@@ -383,9 +383,9 @@ curl -X 'GET' \
383383

384384
### 【GET】/vpr/database64
385385

386-
说明: 根据 vpr_id 获取用户vpr时注册使用音频转换成 16k, int16 类型的数组,返回base64编码
386+
说明: 根据 vpr_id 获取用户 vpr 时注册使用音频转换成 16k, int16 类型的数组,返回 base64 编码
387387

388-
前端接口:声纹识别-获取vpr对应的音频(注意:播放时需要添加 wav头,16k,int16, 可参考tts播放时添加wav的方式,注意更改采样率)
388+
前端接口:声纹识别-获取 vpr 对应的音频(注意:播放时需要添加 wav头,16k,int16, 可参考 tts 播放时添加 wav 的方式,注意更改采样率)
389389

390390
访问示例:
391391

@@ -401,6 +401,4 @@ curl -X 'GET' \
401401
"code": 0,
402402
"result":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
403403
"message": "ok"
404-
```
405-
406-
404+
```

demos/speech_web/README_cn.md renamed to demos/speech_web/README.md

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# Paddle Speech Demo
22

3-
PaddleSpeechDemo是一个以PaddleSpeech的语音交互功能为主体开发的Demo展示项目,用于帮助大家更好的上手PaddleSpeech以及使用PaddleSpeech构建自己的应用
3+
PaddleSpeechDemo 是一个以 PaddleSpeech 的语音交互功能为主体开发的Demo展示项目,用于帮助大家更好的上手PaddleSpeech 以及使用 PaddleSpeech 构建自己的应用
44

5-
智能语音交互部分使用PaddleSpeech,对话以及信息抽取部分使用PaddleNLP,网页前端展示部分基于Vue3进行开发
5+
智能语音交互部分使用 PaddleSpeech,对话以及信息抽取部分使用 PaddleNLP,网页前端展示部分基于 Vue3 进行开发
66

77
主要功能:
88

9-
+ 语音聊天:PaddleSpeech的语音识别能力+语音合成能力,对话部分基于PaddleNLP的闲聊功能
10-
+ 声纹识别:PaddleSpeech的声纹识别功能展示
9+
+ 语音聊天:PaddleSpeech 的语音识别能力+语音合成能力,对话部分基于 PaddleNLP 的闲聊功能
10+
+ 声纹识别:PaddleSpeech 的声纹识别功能展示
1111
+ 语音识别:支持【实时语音识别】,【端到端识别】,【音频文件识别】三种模式
1212
+ 语音合成:支持【流式合成】与【端到端合成】两种方式
13-
+ 语音指令:基于PaddleSpeech的语音识别能力与PaddleNLP的信息抽取,实现交通费的智能报销
13+
+ 语音指令:基于 PaddleSpeech 的语音识别能力与 PaddleNLP 的信息抽取,实现交通费的智能报销
1414

1515
运行效果:
1616

@@ -32,23 +32,21 @@ cd model
3232
wget https://bj.bcebos.com/paddlenlp/applications/speech-cmd-analysis/finetune/model_state.pdparams
3333
```
3434

35-
3635
### 前端环境安装
3736

38-
前端依赖node.js ,需要提前安装,确保npm可用,npm测试版本8.3.1,建议下载[官网](https://nodejs.org/en/)稳定版的node.js
37+
前端依赖 `node.js` ,需要提前安装,确保 `npm` 可用,`npm` 测试版本 `8.3.1`,建议下载[官网](https://nodejs.org/en/)稳定版的 `node.js`
3938

4039
```
4140
# 进入前端目录
4241
cd web_client
4342
44-
# 安装yarn,已经安装可跳过
43+
# 安装 `yarn`,已经安装可跳过
4544
npm install -g yarn
4645
4746
# 使用yarn安装前端依赖
4847
yarn install
4948
```
5049

51-
5250
## 启动服务
5351

5452
### 开启后端服务
@@ -66,18 +64,18 @@ cd web_client
6664
yarn dev --port 8011
6765
```
6866

69-
默认配置下,前端中配置的后台地址信息是localhost,确保后端服务器和打开页面的游览器在同一台机器上,不在一台机器的配置方式见下方的FAQ:【后端如果部署在其它机器或者别的端口如何修改】
67+
默认配置下,前端中配置的后台地址信息是 localhost,确保后端服务器和打开页面的游览器在同一台机器上,不在一台机器的配置方式见下方的 FAQ:【后端如果部署在其它机器或者别的端口如何修改】
7068
## FAQ
7169

7270
#### Q: 如何安装node.js
7371

74-
A: node.js的安装可以参考[【菜鸟教程】](https://www.runoob.com/nodejs/nodejs-install-setup.html), 确保npm可用
72+
A: node.js的安装可以参考[【菜鸟教程】](https://www.runoob.com/nodejs/nodejs-install-setup.html), 确保 npm 可用
7573

7674
#### Q:后端如果部署在其它机器或者别的端口如何修改
7775

7876
A:后端的配置地址有分散在两个文件中
7977

80-
修改第一个文件`PaddleSpeechWebClient/vite.config.js`
78+
修改第一个文件 `PaddleSpeechWebClient/vite.config.js`
8179

8280
```
8381
server: {
@@ -92,7 +90,7 @@ server: {
9290
}
9391
```
9492

95-
修改第二个文件`PaddleSpeechWebClient/src/api/API.js`Websocket代理配置失败,所以需要在这个文件中修改)
93+
修改第二个文件 `PaddleSpeechWebClient/src/api/API.js` Websocket 代理配置失败,所以需要在这个文件中修改)
9694

9795
```
9896
// websocket (这里改成后端所在的接口)
@@ -107,9 +105,6 @@ A:这里主要是游览器安全策略的限制,需要配置游览器后重
107105

108106
chrome设置地址: chrome://flags/#unsafely-treat-insecure-origin-as-secure
109107

110-
111-
112-
113108
## 参考资料
114109

115110
vue实现录音参考资料:https://blog.csdn.net/qq_41619796/article/details/107865602#t1

0 commit comments

Comments
 (0)