参考:
语音识别系列︱用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

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install pytest-runner
pip install paddlespeech

2 quick start 示例

2.1 语音识别

文档链接:语音识别

第一个语音识别的示例:

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

以为安装了paddlespeech,就直接可以用了;
但是有一些案例会报错,所以,最好就是直接git github的,再调用:

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

另外官方有一个demo,是使用预训练模型的jupyter : 使用 Transformer 进行语音识别tutorial_transformer.ipynb
感觉跟以上的不同,可能后续会试一下

2.2 标点恢复

可以看:punctuation_restoration/README_cn.md

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

案例2:

import paddle
from paddlespeech.cli.text import TextExecutortext_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 视频字幕生成

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

参考:视频字幕生成

import paddle
from paddlespeech.cli.asr import ASRExecutor
from paddlespeech.cli.text import TextExecutorasr_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))

输出:

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

3.2 声音分类

不是本文重点,但是这个分类有点意思,就记录一下

识别声音:cls_tutorial.ipynb

声音分类根据用途还可以继续细分:

  • 副语言识别:说话人识别(Speaker Recognition), 情绪识别(Speech Emotion Recognition),性别分类(Speaker gender classification)
  • 音乐识别:音乐流派分类(Music Genre Classification)
  • 场景识别:环境声音分类(Environmental Sound Classification)
  • 声音事件检测:各个环境中的声学事件检测

相较于 CV 领域的 ImageNet 数据集,谷歌在 2017 年开放了一个大规模的音频数据集 AudioSet[4],它是目前最大的用于音频分类任务的数据集。该数据集包含了 632 类的音频类别以及 2084320 条人工标记的每段 10 秒长度的声音剪辑片段(包括 527 个标签),数据总时长为 5,800 小时。

音频样本可分为 5 个主要类别:

  • 动物声音(Animals)
  • 自然界产生的声音和水声(Natural soundscapes & water sounds)
  • 人类发出的非语言声音(Human, non-speech sounds)
  • 室内声音(Interior/domestic sounds)
  • 室外声音和一般噪声(Exterior/urban noises)。

4 paddlehub 与 paddlespeech的对比

4.1 语音识别模型对比

笔者随便用同一个视频,不同的模型跑了一下:

paddlehub里面最好的是u2_conformer_wenetspeech模型:

#u2_conformer_wenetspeech
强调他的粉质用细腻还有定妆或有的效果因为西得脸昂的水花西子那分花西子做事情是我真的很任务中国人的冬光彩妆红包们不是是机涂香粉核压了水者想打开我们包装得出以前是白色粉丝或者再走要让珍珠粉丝蜜粉还加了上瘾的感就是很丝滑的还经下了菊花山水花粉过璃花精华以及白几百点白树的植物量的成分好去上午少微好的分刚开始用的话爱下了它但是这么多鼻子都够了运输过程都不要整全部飞出来了它有个白色白色的一层不然后就把拿起来不要把那个网给我撕掉了

paddlespeech的模型,应该同时有好几个,但是不知道为什么调用起来输出都是一样的
而且deepspeech2offline_aishell会报错AttributeError: 'BiTransformerDecoder' object has no attribute 'init_decoder'
笔者就没有细究了。


# 模型:conformer_online_multicn 输出结果:
想调它的粉质又细腻还有定妆或有的效所所以记得两岸的水花西子地粉是水花西子做事情是我真的很任中国人的中装彩妆服锅方面不其是及图香粉和压了进水暖肉下打开我们的包装走出以前是白色粉丝或者带色让是珍珠粉丝密粉还加了上脸的感觉是很丝滑的拍金上了水花山水花粉茉莉花精华以及白集白脸白素的植物量成分保是上午稍微好的垃西色本取分刚开始有的话爱成它那是水子这么多不纸的就够了运输过程都标准植部堆出来了它有个白色的白色的A层布然后就把拿起来不要把那个网给我撕掉了

4.2 标点恢复对比

paddlehub的结果:

punc_texts = model.add_puncs([text])
print(punc_texts)>>> ['想调它的粉质,又细腻,还有定妆,或有的效所,所以记得两岸的水花西子,地粉,是水花西子,做事情是,我真的很任,中国人的,中装,彩妆,服,锅方面,不其是,及,图,香粉,和压了进水,暖肉下,打开我们的包装,走出,以前是白色粉丝,或者带色,让是珍珠粉丝,密粉,还加了上脸的,感觉,是很丝滑的,拍金,上了水花山,水花粉,茉莉花精华,以及白集,白脸,白素的植物量,成,分,保是上午稍微好的,垃西,色,本取分,刚开始有的话,爱成它,那是水子,这么多不纸的就够了,运输过程都标准,植部堆出来了,它有个白色的,白色的a层布,然后就把拿起来,不要把那个网给我撕掉了。']

paddlespeech的结果:


# 模型1:ernie_linear_p7_wudao
result = text_executor(text=text,task='punc',model='ernie_linear_p7_wudao',device=paddle.get_device())
print('Text Result: \n{}'.format(result))>>> 想调它的粉质又细腻,还有定妆或有的效所,所以记得两岸的水花西子地粉是水花西子做事情是我真的很任中国人的中装彩妆服锅方面不其是及图香粉和压了进水暖肉下打开我们的包装,走出以前是白色粉丝或者带色让是珍珠粉丝密粉还加了,上脸的感觉是很丝滑的拍金上了水花山水花粉,茉莉花精华以及白集白脸白素的植物量成分保是上午稍微好的垃西色本取分刚开始有的话爱成它那是水子这么多不纸的就够了,运输过程都标准植部堆出来了它有个白色的白色的a层布,然后就把拿起来不要把那个网给我撕掉了。# 模型2:
result = text_executor(text=text,task='punc',model='ernie_linear_p3_wudao',device=paddle.get_device())
print('Text Result: \n{}'.format(result))>>> 想调它的粉质又细腻,还有定妆或有的效所,所以记得两岸的水花西子地粉是水花西子做事情是我真的很任中国人的中装彩妆服锅方面不其是及图香粉和压了进水暖肉下打开我们的包装,走出以前是白色粉丝或者带色让是珍珠粉丝密粉还加了,上脸的感觉是很丝滑的拍金上了水花山水花粉,茉莉花精华以及白集白脸白素的植物量成分保是上午稍微好的垃西色本取分刚开始有的话爱成它那是水子这么多不纸的就够了,运输过程都标准植部堆出来了它有个白色的白色的a层布,然后就把拿起来不要把那个网给我撕掉了。
​

4.3 整体评价

从已知的预训练模型调用来看,paddlehub > paddlespeech,但是整体效果都不是特别理想。

可能:

  • 语音识别模型,需要用paddlespeech重新训练会更好
  • 标点恢复对比,需要设置一些punc_vocab + 重训练会更好些

参考文献:

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

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

  1. 【基金量化研究系列】基金绩效归因模型(三)——基于CAPM、T-M、H-M、C-L模型的基金绩效归因研究

    文章目录 1. 引言 2. 模型介绍 2.1 CAPM模型 2.2 T-M模型 2.3 H-M模型 2.4 C-L模型 2.5 H-M模型 V.S. C-L模型 3. 实证分析 3.1 数据选择 3. ...

  2. 语音识别系列︱利用达摩院ModelScope进行语音识别+标点修复(四)

    终于有时间更新语音识别系列了,之前的几篇: 语音识别系列︱用python进行音频解析(一) 语音识别系列︱paddlehub的开源语音识别模型测试(二) 语音识别系列︱paddlespeech的开源语 ...

  3. PocketSphinx语音识别系统语言模型的训练和声学模型的改进

    PocketSphinx语音识别系统语言模型的训练和声学模型的改进 zouxy09@qq.com http://blog.csdn.net/zouxy09 关于语音识别的基础知识和sphinx的知识, ...

  4. TWEN-ASR ONE 语音识别系列教程(1)--- 运行第一个程序

    TWEN-ASR ONE 语音识别系列教程(1)- 运行第一个程序 提示:作者使用 TWEN-ASR ONE V1.0开发板进行开发学习. 文章目录 前言 一.TWEN-ASR开发板介绍 二.程序编写 ...

  5. [转]PocketSphinx语音识别系统语言模型的训练和声学模型的改进

    PocketSphinx语音识别系统语言模型的训练和声学模型的改进 zouxy09@qq.com http://blog.csdn.net/zouxy09 关于语音识别的基础知识和sphinx的知识, ...

  6. WAV2LETTER ++:最快的开源语音识别系统

                                                                           WAV2LETTER ++:最快的开源语音识别系统 Vin ...

  7. 基于《Kaldi语音识别》技术及开源语音语料库分享

    前言: 数据堂自AI开源计划发起,面向高校和科研机构首次开源的[1505小时中文普通话语音数据集],该数据集句标注准确率达到了98%,得到了很多开发者的认可. 不仅如此,数据堂基于此开源数据集还精选出 ...

  8. 开源语音识别工具包 - CMUSphinx

    开源语音识别工具包 - CMUSphinx 开源语音识别工具包 语音识别简介 语音的构成 识别过程 模型 其他概念 CMU Sphinx 简介 Sphinx初体验 下载 编译 运行 开源语音识别工具包 ...

  9. 语音识别系列1:语音识别Speech recognition综述

    名词约定: 语声识别----- VOICE RECOGNITION 语音识别-----SPEECH RECOGNITION 1 什么是语声识别VOICE RECOGNITION? 语音或说话者识别是程 ...

最新文章

  1. 31万奖金算法赛事来了!
  2. 根据sql生成相应字段
  3. 新地王的诞生终将付出惨痛的代价?
  4. strace 命令详解
  5. 登录多实例MySQL失败,修改密码临时解决,原因不明
  6. .attr()与.removeAttr()
  7. TypeScript里的类型为any和泛型的区别
  8. 【飞秋】SQL Server性能调教系列(4)--Profiler(上)
  9. centos 6.7 mysql 5.6_CentOS 6.7 安装 MySQL 5.6 思路整理
  10. [20180123]测试SQLNET.EXPIRE_TIME参数.txt
  11. yarn install node-sass(gulp-sass) 安装失败解决方案
  12. 例3.6 二叉搜索树 - 九度教程第36题(二叉排序树)
  13. android 禁用跳转动画,android – 禁用ViewPager滚动动画
  14. 《全面解读IPTV生态链》-转自CSDN
  15. ResourceDictionary
  16. 一起来围观软件测试工程师月薪20K的简历
  17. 架构师之数字判断-----------------怎么判断一个字符串是个数字
  18. C#高效编程 改进C#代码的50个行之有效的办法(第2版)
  19. 你真的了解机器学习、人工智能、统计建模吗?
  20. 最为一个程序猿,怎么能不懂行内黑话。

热门文章

  1. 程序人生---肉末番茄鸡蛋面
  2. shopee校招笔试考什么?如何准备笔试?
  3. 微波、光波炉加热原理
  4. java压缩文件的生成,Java 压缩生成zip文件
  5. IDEA实现SpringBoot自定义Starters
  6. 如何用python入侵手机_怎么使用Python攻击SQL数据库!
  7. HotPower超级CRC计算器HotWC3_V1.23
  8. android最新1.0.5版,我的世界1.1.0.5最新版下载
  9. hadoop应用企业
  10. JMeter5.3安装配置教程(附链接)