Skip to content

PaddleSpeech CLI Architecture

Hui Zhang edited this page Feb 16, 2022 · 12 revisions

一站式语音工具箱 CLI 设计

需求

  1. 从用户体验角度考虑,需要给每个模型实现单条推理功能。
  2. 语音模型需要全量接入 PaddleHub 中。
  3. 模型组合使用完成高阶应用案例。如 #1250

方案

PaddleSpeech 新增 CLI 一站式语音工具箱。

CLI 统一管理所有语音模型的单条推理,维护预训练模型下载,设计清晰、可维护、可扩展,满足上述需求。

安全

安全方面,主要考虑用户输入检测:
1.对非法输入做退出处理,并输出必要的提示信息;
2. 不满足模型输入要求的,做自适应处理,并输出处理警告;
3. 模型资源下载后做md5检测;

注:当模型更新后,需要更新CLI对应的配置项中模型的MD5.

语音模型组合案例

安装 PaddleSpeech 包:

pip install paddlespeech

ASR+Punc应用示例:

from paddlespeech.cli import ASRExecutor
from paddlespeech.cli import TextExecutor

if __name__ == "__main__":
    asr_executor = ASRExecutor()
    text_executor = TextExecutor()

    text = asr_executor(
        audio_file=os.path.abspath(os.path.expanduser(args.input)),
        device=args.device)
    result = text_executor(
        text=text,
        task='punc',
        model='ernie_linear_p3_wudao',
        device=args.device)
    print('ASR Result: \n{}'.format(text))
    print('ASR with Punc Result: \n{}'.format(result))

能力统计

通过如下命令,获取所有语音任务、各任务支持模型、语言等详细:

paddlespeech stats

输出样例,输出格式可以优化成 Markdown 方便文档话。

ASR:
conformer-librispeech-en
conformer-aishell-zh
...
Punc:
erine_linear-iwslt-zh