Merge branch 'develop' into webdataset

pull/2062/head
Jackwaterveg 3 years ago committed by GitHub
commit 6598216b2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -21,5 +21,6 @@ python:
version: 3.7 version: 3.7
install: install:
- requirements: docs/requirements.txt - requirements: docs/requirements.txt
- method: setuptools
path: .
system_packages: true

@ -691,7 +691,7 @@ PaddleSpeech 的 **语音合成** 主要包含三个模块:文本前端、声
- 非常感谢 [phecda-xu](https://github.com/phecda-xu)/[PaddleDubbing](https://github.com/phecda-xu/PaddleDubbing) 基于 PaddleSpeech 的 TTS 模型搭建带 GUI 操作界面的配音工具。 - 非常感谢 [phecda-xu](https://github.com/phecda-xu)/[PaddleDubbing](https://github.com/phecda-xu/PaddleDubbing) 基于 PaddleSpeech 的 TTS 模型搭建带 GUI 操作界面的配音工具。
- 非常感谢 [jerryuhoo](https://github.com/jerryuhoo)/[VTuberTalk](https://github.com/jerryuhoo/VTuberTalk) 基于 PaddleSpeech 的 TTS GUI 界面和基于 ASR 制作数据集的相关代码。 - 非常感谢 [jerryuhoo](https://github.com/jerryuhoo)/[VTuberTalk](https://github.com/jerryuhoo/VTuberTalk) 基于 PaddleSpeech 的 TTS GUI 界面和基于 ASR 制作数据集的相关代码。
- 非常感谢 [vpegasus](https://github.com/vpegasus)/[xuesebot](https://github.com/vpegasus/xuesebot) 基于 PaddleSpeech 的 ASR与TTS 设计的可听、说对话机器人 - 非常感谢 [vpegasus](https://github.com/vpegasus)/[xuesebot](https://github.com/vpegasus/xuesebot) 基于 PaddleSpeech 的 ASR TTS 设计的可听、说对话机器人
此外PaddleSpeech 依赖于许多开源存储库。有关更多信息,请参阅 [references](./docs/source/reference.md)。 此外PaddleSpeech 依赖于许多开源存储库。有关更多信息,请参阅 [references](./docs/source/reference.md)。

@ -2,7 +2,7 @@ diskcache==5.2.1
dtaidistance==2.3.1 dtaidistance==2.3.1
fastapi fastapi
librosa==0.8.0 librosa==0.8.0
numpy==1.21.0 numpy==1.22.0
pydantic pydantic
pymilvus==2.0.1 pymilvus==2.0.1
pymysql pymysql

@ -0,0 +1,79 @@
([简体中文](./README_cn.md)|English)
# KWS (Keyword Spotting)
## Introduction
KWS(Keyword Spotting) is a technique to recognize keyword from a giving speech audio.
This demo is an implementation to recognize keyword from a specific audio file. It can be done by a single command or a few lines in python using `PaddleSpeech`.
## Usage
### 1. Installation
see [installation](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md).
You can choose one way from easy, meduim and hard to install paddlespeech.
### 2. Prepare Input File
The input of this demo should be a WAV file(`.wav`), and the sample rate must be the same as the model.
Here are sample files for this demo that can be downloaded:
```bash
wget -c https://paddlespeech.bj.bcebos.com/kws/hey_snips.wav https://paddlespeech.bj.bcebos.com/kws/non-keyword.wav
```
### 3. Usage
- Command Line(Recommended)
```bash
paddlespeech kws --input ./hey_snips.wav
paddlespeech kws --input ./non-keyword.wav
```
Usage:
```bash
paddlespeech kws --help
```
Arguments:
- `input`(required): Audio file to recognize.
- `threshold`Score threshold for kws. Default: `0.8`.
- `model`: Model type of kws task. Default: `mdtc_heysnips`.
- `config`: Config of kws task. Use pretrained model when it is None. Default: `None`.
- `ckpt_path`: Model checkpoint. Use pretrained model when it is None. Default: `None`.
- `device`: Choose device to execute model inference. Default: default device of paddlepaddle in current environment.
- `verbose`: Show the log information.
Output:
```bash
# Input file: ./hey_snips.wav
Score: 1.000, Threshold: 0.8, Is keyword: True
# Input file: ./non-keyword.wav
Score: 0.000, Threshold: 0.8, Is keyword: False
```
- Python API
```python
import paddle
from paddlespeech.cli.kws import KWSExecutor
kws_executor = KWSExecutor()
result = kws_executor(
audio_file='./hey_snips.wav',
threshold=0.8,
model='mdtc_heysnips',
config=None,
ckpt_path=None,
device=paddle.get_device())
print('KWS Result: \n{}'.format(result))
```
Output:
```bash
KWS Result:
Score: 1.000, Threshold: 0.8, Is keyword: True
```
### 4.Pretrained Models
Here is a list of pretrained models released by PaddleSpeech that can be used by command and python API:
| Model | Language | Sample Rate
| :--- | :---: | :---: |
| mdtc_heysnips | en | 16k

@ -0,0 +1,76 @@
(简体中文|[English](./README.md))
# 关键词识别
## 介绍
关键词识别是一项用于识别一段语音内是否包含特定的关键词。
这个 demo 是一个从给定音频文件识别特定关键词的实现,它可以通过使用 `PaddleSpeech` 的单个命令或 python 中的几行代码来实现。
## 使用方法
### 1. 安装
请看[安装文档](https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install_cn.md)。
你可以从 easymediumhard 三中方式中选择一种方式安装。
### 2. 准备输入
这个 demo 的输入应该是一个 WAV 文件(`.wav`),并且采样率必须与模型的采样率相同。
可以下载此 demo 的示例音频:
```bash
wget -c https://paddlespeech.bj.bcebos.com/kws/hey_snips.wav https://paddlespeech.bj.bcebos.com/kws/non-keyword.wav
```
### 3. 使用方法
- 命令行 (推荐使用)
```bash
paddlespeech kws --input ./hey_snips.wav
paddlespeech kws --input ./non-keyword.wav
```
使用方法:
```bash
paddlespeech kws --help
```
参数:
- `input`(必须输入):用于识别关键词的音频文件。
- `threshold`:用于判别是包含关键词的得分阈值,默认值:`0.8`。
- `model`KWS 任务的模型,默认值:`mdtc_heysnips`。
- `config`KWS 任务的参数文件,若不设置则使用预训练模型中的默认配置,默认值:`None`。
- `ckpt_path`:模型参数文件,若不设置则下载预训练模型使用,默认值:`None`。
- `device`:执行预测的设备,默认值:当前系统下 paddlepaddle 的默认 device。
- `verbose`: 如果使用,显示 logger 信息。
输出:
```bash
# 输入为 ./hey_snips.wav
Score: 1.000, Threshold: 0.8, Is keyword: True
# 输入为 ./non-keyword.wav
Score: 0.000, Threshold: 0.8, Is keyword: False
```
- Python API
```python
import paddle
from paddlespeech.cli.kws import KWSExecutor
kws_executor = KWSExecutor()
result = kws_executor(
audio_file='./hey_snips.wav',
threshold=0.8,
model='mdtc_heysnips',
config=None,
ckpt_path=None,
device=paddle.get_device())
print('KWS Result: \n{}'.format(result))
```
输出:
```bash
KWS Result:
Score: 1.000, Threshold: 0.8, Is keyword: True
```
### 4.预训练模型
以下是 PaddleSpeech 提供的可以被命令行和 python API 使用的预训练模型列表:
| 模型 | 语言 | 采样率
| :--- | :---: | :---: |
| mdtc_heysnips | en | 16k

@ -0,0 +1,7 @@
#!/bin/bash
wget -c https://paddlespeech.bj.bcebos.com/kws/hey_snips.wav https://paddlespeech.bj.bcebos.com/kws/non-keyword.wav
# kws
paddlespeech kws --input ./hey_snips.wav
paddlespeech kws --input non-keyword.wav

@ -24,6 +24,12 @@ PaddleSpeechDemo是一个以PaddleSpeech的语音交互功能为主体开发的D
# 安装环境 # 安装环境
cd speech_server cd speech_server
pip install -r requirements.txt pip install -r requirements.txt
# 下载 ie 模型,针对地点进行微调,效果更好,不下载的话会使用其它版本,效果没有这个好
cd source
mkdir model
cd model
wget https://bj.bcebos.com/paddlenlp/applications/speech-cmd-analysis/finetune/model_state.pdparams
``` ```
@ -61,59 +67,6 @@ yarn dev --port 8011
``` ```
默认配置下前端中配置的后台地址信息是localhost确保后端服务器和打开页面的游览器在同一台机器上不在一台机器的配置方式见下方的FAQ【后端如果部署在其它机器或者别的端口如何修改】 默认配置下前端中配置的后台地址信息是localhost确保后端服务器和打开页面的游览器在同一台机器上不在一台机器的配置方式见下方的FAQ【后端如果部署在其它机器或者别的端口如何修改】
## Docker启动
### 后端docker
后端docker使用[paddlepaddle官方docker](https://www.paddlepaddle.org.cn),这里演示CPU版本
```
# 拉取PaddleSpeech项目
cd PaddleSpeechServer
git clone https://github.com/PaddlePaddle/PaddleSpeech.git
# 拉取镜像
docker pull registry.baidubce.com/paddlepaddle/paddle:2.3.0
# 启动容器
docker run --name paddle -it -p 8010:8010 -v $PWD:/paddle registry.baidubce.com/paddlepaddle/paddle:2.3.0 /bin/bash
# 进入容器
cd /paddle
# 安装依赖
pip install -r requirements
# 启动服务
python main --port 8010
```
### 前端docker
前端docker直接使用[node官方的docker](https://hub.docker.com/_/node)即可
```shell
docker pull node
```
镜像中安装依赖
```shell
cd PaddleSpeechWebClient
# 映射外部8011端口
docker run -it -p 8011:8011 -v $PWD:/paddle node:latest bin/bash
# 进入容器中
cd /paddle
# 安装依赖
yarn install
# 启动前端
yarn dev --port 8011
```
## FAQ ## FAQ
#### Q: 如何安装node.js #### Q: 如何安装node.js
@ -126,7 +79,7 @@ A后端的配置地址有分散在两个文件中
修改第一个文件`PaddleSpeechWebClient/vite.config.js` 修改第一个文件`PaddleSpeechWebClient/vite.config.js`
```json ```
server: { server: {
host: "0.0.0.0", host: "0.0.0.0",
proxy: { proxy: {
@ -141,7 +94,7 @@ server: {
修改第二个文件`PaddleSpeechWebClient/src/api/API.js`Websocket代理配置失败所以需要在这个文件中修改 修改第二个文件`PaddleSpeechWebClient/src/api/API.js`Websocket代理配置失败所以需要在这个文件中修改
```javascript ```
// websocket (这里改成后端所在的接口) // websocket (这里改成后端所在的接口)
CHAT_SOCKET_RECORD: 'ws://localhost:8010/ws/asr/offlineStream', // ChatBot websocket 接口 CHAT_SOCKET_RECORD: 'ws://localhost:8010/ws/asr/offlineStream', // ChatBot websocket 接口
ASR_SOCKET_RECORD: 'ws://localhost:8010/ws/asr/onlineStream', // Stream ASR 接口 ASR_SOCKET_RECORD: 'ws://localhost:8010/ws/asr/onlineStream', // Stream ASR 接口

@ -30,7 +30,7 @@ from src.robot import Robot
from src.WebsocketManeger import ConnectionManager from src.WebsocketManeger import ConnectionManager
from src.SpeechBase.vpr import VPR from src.SpeechBase.vpr import VPR
from paddlespeech.server.engine.asr.online.asr_engine import PaddleASRConnectionHanddler from paddlespeech.server.engine.asr.online.python.asr_engine import PaddleASRConnectionHanddler
from paddlespeech.server.utils.audio_process import float2pcm from paddlespeech.server.utils.audio_process import float2pcm

@ -147,27 +147,4 @@ class AudioMannger:
self.is_pause = False self.is_pause = False
if __name__ == '__main__':
from robot import Robot
chatbot = Robot()
chatbot.init()
audio_manger = AudioMannger(chatbot)
file_list = [
"source/20220418145230qbenc.pcm",
]
for file in file_list:
with open(file, "rb") as f:
pcm_bin = f.read()
print(len(pcm_bin))
asr_ = audio_manger.stream_asr(pcm_bin=pcm_bin)
print(asr_)
print(audio_manger.end())
print(chatbot.speech2text("source/20220418145230zrxia.wav"))

@ -4,8 +4,8 @@ import paddle
import librosa import librosa
import soundfile import soundfile
from paddlespeech.server.engine.asr.online.asr_engine import ASREngine from paddlespeech.server.engine.asr.online.python.asr_engine import ASREngine
from paddlespeech.server.engine.asr.online.asr_engine import PaddleASRConnectionHanddler from paddlespeech.server.engine.asr.online.python.asr_engine import PaddleASRConnectionHanddler
from paddlespeech.server.utils.config import get_config from paddlespeech.server.utils.config import get_config
def readWave(samples): def readWave(samples):
@ -60,28 +60,3 @@ class ASR:
return asr_results return asr_results
if __name__ == '__main__':
config_path = r"../../PaddleSpeech/paddlespeech/server/conf/ws_conformer_application.yaml"
wav_path = r"../../source/demo/demo_16k.wav"
samples, sample_rate = soundfile.read(wav_path, dtype='int16')
asr = ASR(config_path=config_path)
end_result = asr.offlineASR(samples=samples, sample_rate=sample_rate)
print("端到端识别结果:", end_result)
for sub_wav in readWave(samples=samples):
# print(sub_wav)
message = sub_wav.tobytes()
offline_result = asr.onlineASR(message, is_finished=False)
print("流式识别结果: ", offline_result)
offline_result = asr.onlineASR(is_finished=True)
print("流式识别结果: ", offline_result)

@ -20,9 +20,4 @@ class NLP:
result = self.ie_model(text) result = self.ie_model(text)
return result return result
if __name__ == '__main__':
ie_model_path = "../../source/model/"
nlp = NLP(ie_model_path=ie_model_path)
text = "今天早上我从大牛坊去百度科技园花了七百块钱"
print(nlp.ie(text))

@ -114,39 +114,3 @@ class DataBase(object):
vc = np.frombuffer(b, dtype=dtype) vc = np.frombuffer(b, dtype=dtype)
return vc return vc
if __name__ == '__main__':
db_path = "../../source/db/vpr.sqlite"
db = DataBase(db_path)
# 准备数据
import numpy as np
vector = np.random.randn((192)).astype(np.float32).tobytes()
vector_base64 = base64.b64encode(vector).decode('utf8')
username = "sss"
wav_path = r"../../source/demo/demo_16k.wav"
# 插入数据
db.insert_one(username, vector_base64, wav_path)
# 查询数据
res_all = db.select_all()
print("res_all: ", res_all)
s_id = res_all[0]['id']
res_id = db.select_by_id(s_id)
print("res_id: ", res_id)
res_uername = db.select_by_username(username)
print("res_username: ", res_uername)
# base64还原
b = base64.b64decode(res_uername[0]['vector'])
vc = np.frombuffer(b, dtype=np.float32)
print(vc)
# 删除数据
db.drop_by_username(username)
res_all = db.select_all()
print("删除后 res_all: ", res_all)
db.drop_all()

@ -7,7 +7,8 @@
# 4. 流式推理 # 4. 流式推理
import base64 import base64
import math
import logging
import numpy as np import numpy as np
from paddlespeech.server.utils.onnx_infer import get_sess from paddlespeech.server.utils.onnx_infer import get_sess
from paddlespeech.t2s.frontend.zh_frontend import Frontend from paddlespeech.t2s.frontend.zh_frontend import Frontend
@ -17,14 +18,14 @@ from paddlespeech.server.utils.config import get_config
from paddlespeech.server.engine.tts.online.onnx.tts_engine import TTSEngine from paddlespeech.server.engine.tts.online.onnx.tts_engine import TTSEngine
class TTS: class TTS:
def __init__(self, config_path): def __init__(self, config_path):
self.config = get_config(config_path)['tts_online-onnx'] self.config = get_config(config_path)['tts_online-onnx']
self.config['voc_block'] = 36 self.config['voc_block'] = 36
self.engine = TTSEngine() self.engine = TTSEngine()
self.engine.init(self.config) self.engine.init(self.config)
self.engine.warm_up() self.executor = self.engine.executor
#self.engine.warm_up()
# 前端初始化 # 前端初始化
self.frontend = Frontend( self.frontend = Frontend(
@ -81,8 +82,105 @@ class TTS:
return wavs return wavs
def streamTTS(self, text): def streamTTS(self, text):
for sub_wav_base64 in self.engine.run(sentence=text):
yield sub_wav_base64 get_tone_ids = False
merge_sentences = False
# front
input_ids = self.frontend.get_input_ids(
text,
merge_sentences=merge_sentences,
get_tone_ids=get_tone_ids)
phone_ids = input_ids["phone_ids"]
for i in range(len(phone_ids)):
part_phone_ids = phone_ids[i].numpy()
voc_chunk_id = 0
# fastspeech2_csmsc
if self.config.am == "fastspeech2_csmsc_onnx":
# am
mel = self.executor.am_sess.run(
output_names=None, input_feed={'text': part_phone_ids})
mel = mel[0]
# voc streaming
mel_chunks = get_chunks(mel, self.config.voc_block, self.config.voc_pad, "voc")
voc_chunk_num = len(mel_chunks)
for i, mel_chunk in enumerate(mel_chunks):
sub_wav = self.executor.voc_sess.run(
output_names=None, input_feed={'logmel': mel_chunk})
sub_wav = self.depadding(sub_wav[0], voc_chunk_num, i,
self.config.voc_block, self.config.voc_pad,
self.config.voc_upsample)
yield self.after_process(sub_wav)
# fastspeech2_cnndecoder_csmsc
elif self.config.am == "fastspeech2_cnndecoder_csmsc_onnx":
# am
orig_hs = self.executor.am_encoder_infer_sess.run(
None, input_feed={'text': part_phone_ids})
orig_hs = orig_hs[0]
# streaming voc chunk info
mel_len = orig_hs.shape[1]
voc_chunk_num = math.ceil(mel_len / self.config.voc_block)
start = 0
end = min(self.config.voc_block + self.config.voc_pad, mel_len)
# streaming am
hss = get_chunks(orig_hs, self.config.am_block, self.config.am_pad, "am")
am_chunk_num = len(hss)
for i, hs in enumerate(hss):
am_decoder_output = self.executor.am_decoder_sess.run(
None, input_feed={'xs': hs})
am_postnet_output = self.executor.am_postnet_sess.run(
None,
input_feed={
'xs': np.transpose(am_decoder_output[0], (0, 2, 1))
})
am_output_data = am_decoder_output + np.transpose(
am_postnet_output[0], (0, 2, 1))
normalized_mel = am_output_data[0][0]
sub_mel = denorm(normalized_mel, self.executor.am_mu,
self.executor.am_std)
sub_mel = self.depadding(sub_mel, am_chunk_num, i,
self.config.am_block, self.config.am_pad, 1)
if i == 0:
mel_streaming = sub_mel
else:
mel_streaming = np.concatenate(
(mel_streaming, sub_mel), axis=0)
# streaming voc
# 当流式AM推理的mel帧数大于流式voc推理的chunk size开始进行流式voc 推理
while (mel_streaming.shape[0] >= end and
voc_chunk_id < voc_chunk_num):
voc_chunk = mel_streaming[start:end, :]
sub_wav = self.executor.voc_sess.run(
output_names=None, input_feed={'logmel': voc_chunk})
sub_wav = self.depadding(
sub_wav[0], voc_chunk_num, voc_chunk_id,
self.config.voc_block, self.config.voc_pad, self.config.voc_upsample)
yield self.after_process(sub_wav)
voc_chunk_id += 1
start = max(
0, voc_chunk_id * self.config.voc_block - self.config.voc_pad)
end = min(
(voc_chunk_id + 1) * self.config.voc_block + self.config.voc_pad,
mel_len)
else:
logging.error(
"Only support fastspeech2_csmsc or fastspeech2_cnndecoder_csmsc on streaming tts."
)
def streamTTSBytes(self, text): def streamTTSBytes(self, text):
for wav in self.engine.executor.infer( for wav in self.engine.executor.infer(
@ -106,16 +204,6 @@ class TTS:
# 用 TVM 优化 # 用 TVM 优化
pass pass
if __name__ == '__main__':
text = "啊哈哈哈哈哈哈啊哈哈哈哈哈哈啊哈哈哈哈哈哈啊哈哈哈哈哈哈啊哈哈哈哈哈哈"
config_path="../../PaddleSpeech/demos/streaming_tts_server/conf/tts_online_application.yaml"
tts = TTS(config_path)
for sub_wav in tts.streamTTS(text):
print("sub_wav_base64: ", len(sub_wav))
end_wav = tts.offlineTTS(text)
print(end_wav)

@ -116,37 +116,3 @@ class VPR:
# 清空 faiss # 清空 faiss
self.index_ip.reset() self.index_ip.reset()
if __name__ == '__main__':
db_path = "../../source/db/vpr.sqlite"
dim = 192
top_k = 5
vpr = VPR(db_path, dim, top_k)
# 准备测试数据
username = "sss"
wav_path = r"../../source/demo/demo_16k.wav"
# 注册声纹
vpr.vpr_enroll(username, wav_path)
# 获取数据
print(vpr.vpr_list())
# 识别声纹
recolist = vpr.vpr_recog(wav_path)
print(recolist)
# 通过 id 获取数据
idx = recolist[0][1]
print(vpr.vpr_data(idx))
# 删除声纹
vpr.vpr_del(username)
vpr.vpr_droptable()

@ -1,4 +1,4 @@
from paddlespeech.cli import VectorExecutor from paddlespeech.cli.vector import VectorExecutor
import numpy as np import numpy as np
import logging import logging
@ -17,10 +17,4 @@ def get_audio_embedding(path):
logging.error(f"Error with embedding:{e}") logging.error(f"Error with embedding:{e}")
return None return None
if __name__ == '__main__':
audio_path = r"../../source/demo/demo_16k.wav"
emb = get_audio_embedding(audio_path)
print(emb.shape)
print(emb.dtype)
print(type(emb))

@ -35,7 +35,7 @@ class Robot:
# asr model初始化 # asr model初始化
self.asr_model(asr_init_path, model=self.asr_name,lang='zh', self.asr_model(asr_init_path, model=self.asr_name,lang='zh',
sample_rate=16000) sample_rate=16000, force_yes=True)
def speech2text(self, audio_file): def speech2text(self, audio_file):
@ -67,27 +67,4 @@ class Robot:
result = self.nlp.ie(text) result = self.nlp.ie(text)
return result return result
if __name__ == '__main__':
tts_config = "../PaddleSpeech/demos/streaming_tts_server/conf/tts_online_application.yaml"
asr_config = "../PaddleSpeech/demos/streaming_asr_server/conf/ws_conformer_application.yaml"
demo_wav = "../source/demo/demo_16k.wav"
ie_model_path = "../source/model"
tts_wav = "../source/demo/tts.wav"
text = "今天天气真不错"
ie_text = "今天晚上我从大牛坊出发去三里屯花了六十五块钱"
robot = Robot(asr_config, tts_config, asr_init_path=demo_wav)
res = robot.speech2text(demo_wav)
print(res)
res = robot.chat(text)
print(res)
print("tts offline")
robot.text2speech(res, tts_wav)
print("ie test")
res = robot.ie(ie_text)
print(res)

@ -5,3 +5,46 @@ sphinx
sphinx-autobuild sphinx-autobuild
sphinx-markdown-tables sphinx-markdown-tables
sphinx_rtd_theme sphinx_rtd_theme
paddlepaddle>=2.2.2
editdistance
g2p_en
g2pM
h5py
inflect
jieba
jsonlines
kaldiio
librosa==0.8.1
loguru
matplotlib
nara_wpe
onnxruntime
pandas
paddlenlp
paddlespeech_feat
praatio==5.0.0
pypinyin
pypinyin-dict
python-dateutil
pyworld==0.2.12
resampy==0.2.2
sacrebleu
scipy
sentencepiece~=0.1.96
soundfile~=0.10
textgrid
timer
tqdm
typeguard
visualdl
webrtcvad
yacs~=0.1.8
prettytable
zhon
colorlog
pathos == 0.2.8
fastapi
websockets
keyboard
uvicorn
pattern_singleton

@ -0,0 +1,7 @@
paddlespeech
============
.. toctree::
:maxdepth: 4
paddlespeech

@ -0,0 +1,16 @@
paddlespeech.audio.backends package
===================================
.. automodule:: paddlespeech.audio.backends
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.audio.backends.soundfile_backend
paddlespeech.audio.backends.sox_backend

@ -0,0 +1,7 @@
paddlespeech.audio.backends.soundfile\_backend module
=====================================================
.. automodule:: paddlespeech.audio.backends.soundfile_backend
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.backends.sox\_backend module
===============================================
.. automodule:: paddlespeech.audio.backends.sox_backend
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.compliance.kaldi module
==========================================
.. automodule:: paddlespeech.audio.compliance.kaldi
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.compliance.librosa module
============================================
.. automodule:: paddlespeech.audio.compliance.librosa
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,16 @@
paddlespeech.audio.compliance package
=====================================
.. automodule:: paddlespeech.audio.compliance
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.audio.compliance.kaldi
paddlespeech.audio.compliance.librosa

@ -0,0 +1,7 @@
paddlespeech.audio.datasets.dataset module
==========================================
.. automodule:: paddlespeech.audio.datasets.dataset
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.datasets.esc50 module
========================================
.. automodule:: paddlespeech.audio.datasets.esc50
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.datasets.gtzan module
========================================
.. automodule:: paddlespeech.audio.datasets.gtzan
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.datasets.hey\_snips module
=============================================
.. automodule:: paddlespeech.audio.datasets.hey_snips
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.datasets.rirs\_noises module
===============================================
.. automodule:: paddlespeech.audio.datasets.rirs_noises
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,22 @@
paddlespeech.audio.datasets package
===================================
.. automodule:: paddlespeech.audio.datasets
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.audio.datasets.dataset
paddlespeech.audio.datasets.esc50
paddlespeech.audio.datasets.gtzan
paddlespeech.audio.datasets.hey_snips
paddlespeech.audio.datasets.rirs_noises
paddlespeech.audio.datasets.tess
paddlespeech.audio.datasets.urban_sound
paddlespeech.audio.datasets.voxceleb

@ -0,0 +1,7 @@
paddlespeech.audio.datasets.tess module
=======================================
.. automodule:: paddlespeech.audio.datasets.tess
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.datasets.urban\_sound module
===============================================
.. automodule:: paddlespeech.audio.datasets.urban_sound
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.datasets.voxceleb module
===========================================
.. automodule:: paddlespeech.audio.datasets.voxceleb
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.features.layers module
=========================================
.. automodule:: paddlespeech.audio.features.layers
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.audio.features package
===================================
.. automodule:: paddlespeech.audio.features
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.audio.features.layers

@ -0,0 +1,7 @@
paddlespeech.audio.functional.functional module
===============================================
.. automodule:: paddlespeech.audio.functional.functional
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,16 @@
paddlespeech.audio.functional package
=====================================
.. automodule:: paddlespeech.audio.functional
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.audio.functional.functional
paddlespeech.audio.functional.window

@ -0,0 +1,7 @@
paddlespeech.audio.functional.window module
===========================================
.. automodule:: paddlespeech.audio.functional.window
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.io package
=============================
.. automodule:: paddlespeech.audio.io
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.metric.eer module
====================================
.. automodule:: paddlespeech.audio.metric.eer
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.audio.metric package
=================================
.. automodule:: paddlespeech.audio.metric
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.audio.metric.eer

@ -0,0 +1,23 @@
paddlespeech.audio package
==========================
.. automodule:: paddlespeech.audio
:members:
:undoc-members:
:show-inheritance:
Subpackages
-----------
.. toctree::
:maxdepth: 4
paddlespeech.audio.backends
paddlespeech.audio.compliance
paddlespeech.audio.datasets
paddlespeech.audio.features
paddlespeech.audio.functional
paddlespeech.audio.io
paddlespeech.audio.metric
paddlespeech.audio.sox_effects
paddlespeech.audio.utils

@ -0,0 +1,7 @@
paddlespeech.audio.sox\_effects package
=======================================
.. automodule:: paddlespeech.audio.sox_effects
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.utils.download module
========================================
.. automodule:: paddlespeech.audio.utils.download
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.utils.error module
=====================================
.. automodule:: paddlespeech.audio.utils.error
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.utils.log module
===================================
.. automodule:: paddlespeech.audio.utils.log
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.audio.utils.numeric module
=======================================
.. automodule:: paddlespeech.audio.utils.numeric
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,19 @@
paddlespeech.audio.utils package
================================
.. automodule:: paddlespeech.audio.utils
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.audio.utils.download
paddlespeech.audio.utils.error
paddlespeech.audio.utils.log
paddlespeech.audio.utils.numeric
paddlespeech.audio.utils.time

@ -0,0 +1,7 @@
paddlespeech.audio.utils.time module
====================================
.. automodule:: paddlespeech.audio.utils.time
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.cli.asr.infer module
=================================
.. automodule:: paddlespeech.cli.asr.infer
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.cli.asr package
============================
.. automodule:: paddlespeech.cli.asr
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cli.asr.infer

@ -0,0 +1,7 @@
paddlespeech.cli.base\_commands module
======================================
.. automodule:: paddlespeech.cli.base_commands
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.cli.cls.infer module
=================================
.. automodule:: paddlespeech.cli.cls.infer
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.cli.cls package
============================
.. automodule:: paddlespeech.cli.cls
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cli.cls.infer

@ -0,0 +1,7 @@
paddlespeech.cli.download module
================================
.. automodule:: paddlespeech.cli.download
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.cli.entry module
=============================
.. automodule:: paddlespeech.cli.entry
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.cli.executor module
================================
.. automodule:: paddlespeech.cli.executor
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.cli.kws.infer module
=================================
.. automodule:: paddlespeech.cli.kws.infer
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.cli.kws package
============================
.. automodule:: paddlespeech.cli.kws
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cli.kws.infer

@ -0,0 +1,7 @@
paddlespeech.cli.log module
===========================
.. automodule:: paddlespeech.cli.log
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,34 @@
paddlespeech.cli package
========================
.. automodule:: paddlespeech.cli
:members:
:undoc-members:
:show-inheritance:
Subpackages
-----------
.. toctree::
:maxdepth: 4
paddlespeech.cli.asr
paddlespeech.cli.cls
paddlespeech.cli.kws
paddlespeech.cli.st
paddlespeech.cli.text
paddlespeech.cli.tts
paddlespeech.cli.vector
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cli.base_commands
paddlespeech.cli.download
paddlespeech.cli.entry
paddlespeech.cli.executor
paddlespeech.cli.log
paddlespeech.cli.utils

@ -0,0 +1,7 @@
paddlespeech.cli.st.infer module
================================
.. automodule:: paddlespeech.cli.st.infer
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.cli.st package
===========================
.. automodule:: paddlespeech.cli.st
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cli.st.infer

@ -0,0 +1,7 @@
paddlespeech.cli.text.infer module
==================================
.. automodule:: paddlespeech.cli.text.infer
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.cli.text package
=============================
.. automodule:: paddlespeech.cli.text
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cli.text.infer

@ -0,0 +1,7 @@
paddlespeech.cli.tts.infer module
=================================
.. automodule:: paddlespeech.cli.tts.infer
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.cli.tts package
============================
.. automodule:: paddlespeech.cli.tts
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cli.tts.infer

@ -0,0 +1,7 @@
paddlespeech.cli.utils module
=============================
.. automodule:: paddlespeech.cli.utils
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.cli.vector.infer module
====================================
.. automodule:: paddlespeech.cli.vector.infer
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.cli.vector package
===============================
.. automodule:: paddlespeech.cli.vector
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cli.vector.infer

@ -0,0 +1,7 @@
paddlespeech.cls.exps.panns.deploy.predict module
=================================================
.. automodule:: paddlespeech.cls.exps.panns.deploy.predict
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.cls.exps.panns.deploy package
==========================================
.. automodule:: paddlespeech.cls.exps.panns.deploy
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cls.exps.panns.deploy.predict

@ -0,0 +1,7 @@
paddlespeech.cls.exps.panns.export\_model module
================================================
.. automodule:: paddlespeech.cls.exps.panns.export_model
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.cls.exps.panns.predict module
==========================================
.. automodule:: paddlespeech.cls.exps.panns.predict
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,25 @@
paddlespeech.cls.exps.panns package
===================================
.. automodule:: paddlespeech.cls.exps.panns
:members:
:undoc-members:
:show-inheritance:
Subpackages
-----------
.. toctree::
:maxdepth: 4
paddlespeech.cls.exps.panns.deploy
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cls.exps.panns.export_model
paddlespeech.cls.exps.panns.predict
paddlespeech.cls.exps.panns.train

@ -0,0 +1,7 @@
paddlespeech.cls.exps.panns.train module
========================================
.. automodule:: paddlespeech.cls.exps.panns.train
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,15 @@
paddlespeech.cls.exps package
=============================
.. automodule:: paddlespeech.cls.exps
:members:
:undoc-members:
:show-inheritance:
Subpackages
-----------
.. toctree::
:maxdepth: 4
paddlespeech.cls.exps.panns

@ -0,0 +1,7 @@
paddlespeech.cls.models.panns.classifier module
===============================================
.. automodule:: paddlespeech.cls.models.panns.classifier
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.cls.models.panns.panns module
==========================================
.. automodule:: paddlespeech.cls.models.panns.panns
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,16 @@
paddlespeech.cls.models.panns package
=====================================
.. automodule:: paddlespeech.cls.models.panns
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.cls.models.panns.classifier
paddlespeech.cls.models.panns.panns

@ -0,0 +1,15 @@
paddlespeech.cls.models package
===============================
.. automodule:: paddlespeech.cls.models
:members:
:undoc-members:
:show-inheritance:
Subpackages
-----------
.. toctree::
:maxdepth: 4
paddlespeech.cls.models.panns

@ -0,0 +1,16 @@
paddlespeech.cls package
========================
.. automodule:: paddlespeech.cls
:members:
:undoc-members:
:show-inheritance:
Subpackages
-----------
.. toctree::
:maxdepth: 4
paddlespeech.cls.exps
paddlespeech.cls.models

@ -0,0 +1,7 @@
paddlespeech.kws.models.loss module
===================================
.. automodule:: paddlespeech.kws.models.loss
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.kws.models.mdtc module
===================================
.. automodule:: paddlespeech.kws.models.mdtc
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,16 @@
paddlespeech.kws.models package
===============================
.. automodule:: paddlespeech.kws.models
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.kws.models.loss
paddlespeech.kws.models.mdtc

@ -0,0 +1,15 @@
paddlespeech.kws package
========================
.. automodule:: paddlespeech.kws
:members:
:undoc-members:
:show-inheritance:
Subpackages
-----------
.. toctree::
:maxdepth: 4
paddlespeech.kws.models

@ -0,0 +1,23 @@
paddlespeech package
====================
.. automodule:: paddlespeech
:members:
:undoc-members:
:show-inheritance:
Subpackages
-----------
.. toctree::
:maxdepth: 4
paddlespeech.audio
paddlespeech.cli
paddlespeech.cls
paddlespeech.kws
paddlespeech.s2t
paddlespeech.server
paddlespeech.t2s
paddlespeech.text
paddlespeech.vector

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.beam\_search.batch\_beam\_search module
=================================================================
.. automodule:: paddlespeech.s2t.decoders.beam_search.batch_beam_search
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.beam\_search.beam\_search module
==========================================================
.. automodule:: paddlespeech.s2t.decoders.beam_search.beam_search
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,16 @@
paddlespeech.s2t.decoders.beam\_search package
==============================================
.. automodule:: paddlespeech.s2t.decoders.beam_search
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.s2t.decoders.beam_search.batch_beam_search
paddlespeech.s2t.decoders.beam_search.beam_search

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.ctcdecoder.decoders\_deprecated module
================================================================
.. automodule:: paddlespeech.s2t.decoders.ctcdecoder.decoders_deprecated
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,17 @@
paddlespeech.s2t.decoders.ctcdecoder package
============================================
.. automodule:: paddlespeech.s2t.decoders.ctcdecoder
:members:
:undoc-members:
:show-inheritance:
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.s2t.decoders.ctcdecoder.decoders_deprecated
paddlespeech.s2t.decoders.ctcdecoder.scorer_deprecated
paddlespeech.s2t.decoders.ctcdecoder.swig_wrapper

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.ctcdecoder.scorer\_deprecated module
==============================================================
.. automodule:: paddlespeech.s2t.decoders.ctcdecoder.scorer_deprecated
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.ctcdecoder.swig\_wrapper module
=========================================================
.. automodule:: paddlespeech.s2t.decoders.ctcdecoder.swig_wrapper
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.recog module
======================================
.. automodule:: paddlespeech.s2t.decoders.recog
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.recog\_bin module
===========================================
.. automodule:: paddlespeech.s2t.decoders.recog_bin
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,27 @@
paddlespeech.s2t.decoders package
=================================
.. automodule:: paddlespeech.s2t.decoders
:members:
:undoc-members:
:show-inheritance:
Subpackages
-----------
.. toctree::
:maxdepth: 4
paddlespeech.s2t.decoders.beam_search
paddlespeech.s2t.decoders.ctcdecoder
paddlespeech.s2t.decoders.scorers
Submodules
----------
.. toctree::
:maxdepth: 4
paddlespeech.s2t.decoders.recog
paddlespeech.s2t.decoders.recog_bin
paddlespeech.s2t.decoders.utils

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.scorers.ctc module
============================================
.. automodule:: paddlespeech.s2t.decoders.scorers.ctc
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.scorers.ctc\_prefix\_score module
===========================================================
.. automodule:: paddlespeech.s2t.decoders.scorers.ctc_prefix_score
:members:
:undoc-members:
:show-inheritance:

@ -0,0 +1,7 @@
paddlespeech.s2t.decoders.scorers.length\_bonus module
======================================================
.. automodule:: paddlespeech.s2t.decoders.scorers.length_bonus
:members:
:undoc-members:
:show-inheritance:

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save