前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >语音识别系列︱paddlespeech的开源语音识别模型测试(三)

语音识别系列︱paddlespeech的开源语音识别模型测试(三)

作者头像
悟乙己
发布2022-10-08 08:57:27
8.1K0
发布2022-10-08 08:57:27
举报
文章被收录于专栏:素质云笔记

参考:

语音识别系列︱用python进行音频解析(一)

语音识别系列︱paddlehub的开源语音识别模型测试(二)

上一篇paddlehub是一些预训练模型,paddlespeech也有,所以本篇就是更新paddlespeech里面的模型。

1 安装

参考:PaddleSpeech 一键预测,快速上手Speech开发任务

PaddleSpeech 是 all-in-one 的语音算法工具箱,包含多种领先国际水平的语音算法与预训练模型。你可以从中选择各种语音处理工具以及预训练模型,支持语音识别,语音合成,声音分类,声纹识别,标点恢复,语音翻译等多种功能,PaddleSpeech Server模块可帮助用户快速在服务器上部署语音服务。

相关依赖:

gcc >= 4.8.5

paddlepaddle >= 2.3.1

python >= 3.7

linux(推荐), mac, windows

代码语言:javascript
复制
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install pytest-runner
pip install paddlespeech

2 quick start 示例

2.1 语音识别

文档链接:语音识别

第一个语音识别的示例:

代码语言:javascript
复制
>>> from paddlespeech.cli.asr.infer import ASRExecutor
>>> asr = ASRExecutor()
>>> result = asr(audio_file="zh.wav")
>>> print(result)
我认为跑步最重要的就是给我带来了身体健康

以为安装了paddlespeech,就直接可以用了;

但是有一些案例会报错,所以,最好就是直接git github的,再调用:

代码语言:javascript
复制
git clone https://github.com/PaddlePaddle/PaddleSpeech.git
cd PaddleSpeech

参数:

  • input(必须输入):用于识别的音频文件。
  • model:ASR 任务的模型,默认值:conformer_wenetspeech
  • lang:模型语言,默认值:zh
  • sample_rate:音频采样率,默认值:16000
  • config:ASR 任务的参数文件,若不设置则使用预训练模型中的默认配置,默认值:None
  • ckpt_path:模型参数文件,若不设置则下载预训练模型使用,默认值:None
  • yes;不需要设置额外的参数,一旦设置了该参数,说明你默认同意程序的所有请求,其中包括自动转换输入音频的采样率。默认值:False
  • device:执行预测的设备,默认值:当前系统下 paddlepaddle 的默认 device。
  • verbose: 如果使用,显示 logger 信息。

预训练模型包括:

模型

语言

采样率

conformer_wenetspeech

zh

16k

conformer_online_multicn

zh

16k

conformer_aishell

zh

16k

conformer_online_aishell

zh

16k

transformer_librispeech

en

16k

deepspeech2online_wenetspeech

zh

16k

deepspeech2offline_aishell

zh

16k

deepspeech2online_aishell

zh

16k

deepspeech2offline_librispeech

en

16k

2.2 标点恢复

可以看:punctuation_restoration/README_cn.md

代码语言:javascript
复制
>>> from paddlespeech.cli.text.infer import TextExecutor
>>> text_punc = TextExecutor()
>>> result = text_punc(text="今天的天气真不错啊你下午有空吗我想约你一起去吃饭")
今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。

案例2:

代码语言:javascript
复制
import paddle
from paddlespeech.cli.text import TextExecutor

text_executor = TextExecutor()
result = text_executor(
    text='今天的天气真不错啊你下午有空吗我想约你一起去吃饭',
    task='punc',
    model='ernie_linear_p7_wudao',
    lang='zh',
    config=None,
    ckpt_path=None,
    punc_vocab=None,
    device=paddle.get_device())
print('Text Result: \n{}'.format(result))

参数:

  • input(必须输入):原始文本。
  • task:子任务,默认值:punc
  • model:文本模型类型,默认值:ernie_linear_p7_wudao
  • lang:模型语言, 默认值:zh
  • config:文本任务的配置文件,若不设置则使用预训练模型中的默认配置,默认值:None
  • ckpt_path:模型参数文件, 若不设置则下载预训练模型使用,默认值:None
  • punc_vocab:标点恢复任务的标点词表文件,默认值:None
  • device:执行预测的设备,默认值:当前系统下 paddlepaddle 的默认 device。

两个预训练模型,以下是 PaddleSpeech 提供的可以被命令行和 python API 使用的预训练模型列表:

模型

语言

标点类型数

ernie_linear_p3_wudao

zh

3(,。?)

ernie_linear_p7_wudao

zh

7(,。!?、:;)

3 案例

3.1 视频字幕生成

是把语音识别 + 标点恢复同时使用。

参考:视频字幕生成

代码语言:javascript
复制
import paddle
from paddlespeech.cli.asr import ASRExecutor
from paddlespeech.cli.text import TextExecutor

asr_executor = ASRExecutor()
text_executor = TextExecutor()

text = asr_executor(
    audio_file='input.wav',
    device=paddle.get_device())
result = text_executor(
    text=text,
    task='punc',
    model='ernie_linear_p3_wudao',
    device=paddle.get_device())
print('Text Result: \n{}'.format(result))

输出:

代码语言:javascript
复制
Text Result:
当我说我可以把三十年的经验变成一个准确的算法,他们说不可能。当我说我们十个人就能实现对十九个城市变电站七乘二十四小时的实时监管,他们说不可能。

参考文献:

PaddleSpeech 一键预测,快速上手Speech开发任务

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 安装
  • 2 quick start 示例
    • 2.1 语音识别
      • 2.2 标点恢复
      • 3 案例
        • 3.1 视频字幕生成
        相关产品与服务
        语音识别
        腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档