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

这篇具有很好参考价值的文章主要介绍了语音识别系列︱paddlespeech的开源语音识别模型测试(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:
语音识别系列︱用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 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 视频字幕生成

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

参考:视频字幕生成

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))

输出:

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

3.2 声音分类

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

识别声音:cls_tutorial.ipynb

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

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

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

相较于 CV 领域的 ImageNet 数据集,谷歌在 2017 年开放了一个大规模的音频数据集 AudioSet[4],它是目前最大的用于音频分类任务的数据集。该数据集包含了 632 类的音频类别以及 2084320 条人工标记的每段 10 秒长度的声音剪辑片段(包括 527 个标签),数据总时长为 5,800 小时。
语音识别系列︱paddlespeech的开源语音识别模型测试(三)
音频样本可分为 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开发任务文章来源地址https://www.toymoban.com/news/detail-452552.html

到了这里,关于语音识别系列︱paddlespeech的开源语音识别模型测试(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Whisper OpenAI开源语音识别模型

    Whisper 是一个自动语音识别(ASR,Automatic Speech Recognition)系统,OpenAI 通过从网络上收集了 68 万小时的多语言(98 种语言)和多任务(multitask)监督数据对 Whisper 进行了训练。OpenAI 认为使用这样一个庞大而多样的数据集,可以提高对口音、背景噪音和技术术语的识别能力。除

    2024年02月16日
    浏览(55)
  • .Net 使用OpenAI开源语音识别模型Whisper

    .Net 使用OpenAI开源语音识别模型 Whisper Open AI在2022年9月21日开源了号称其英文语音辨识能力已达到人类水准的 Whisper 神经网络,且它亦支持其它98种语言的自动语音辨识。 Whisper系统所提供的自动语音辨识(Automatic Speech Recognition,ASR)模型是被训练来运行语音辨识与翻译任务的

    2024年02月08日
    浏览(55)
  • OpenAI开源全新解码器和语音识别模型Whisper-v3

    在11月7日OpenAI的首届开发者大会上,除了推出一系列重磅产品之外,还开源了两款产品,全新解码器Consistency Decoder(一致性解码器)和最新语音识别模型Whisper v3。 据悉,Consistency Decoder可以替代Stable Diffusion VAE解码器。该解码器可以改善所有与Stable Diffusion 1.0+ VAE兼容的图像,

    2024年02月05日
    浏览(59)
  • OpenAI开源语音识别模型Whisper在Windows系统的安装详细过程

    Python的安装很简单,点击这里进行下载。 安装完成之后,输入python -V可以看到版本信息,说明已经安装成功了。 如果输入python -V命令没有看到上面的这样的信息,要么是安装失败,要么是安装好之后没有自动配置环境变量,如何配置环境变量可以从网上搜索。 Python的具体安

    2024年02月08日
    浏览(60)
  • Meta语音达LLaMA级里程碑!开源MMS模型可识别1100+语言

    【新智元导读】Meta的大规模多语言语音 (MMS) 项目将彻底改变语音技术,使用wav2vec 2.0的自监督学习,MMS将语音技术扩展到1100到4000种语言。 在语音方面,Meta又达到了另一个LLaMA级的里程碑。 今天,Meta推出了一个名为MMS的大规模多语言语音项目,它将彻底改变语音技术。

    2024年02月09日
    浏览(68)
  • 飞桨paddlespeech 语音唤醒初探

    PaddleSpeech提供了MDTC模型(paper: The NPU System for the 2020 Personalized Voice Trigger Challenge)在Hey Snips数据集上的语音唤醒(KWS)的实现。这篇论文是用空洞时间卷积网络(dilated temporal convolution network, DTCN)的方法来做的,曾获the 2020 personalized voice trigger challenge (PVTC2020)的第二名,可见这个

    2024年02月05日
    浏览(44)
  • AI > 语音识别开源项目列举

    名称 所属开发机构 使用场景 优缺点 技术特点 占有率 描述 CMU Sphinx 卡内基梅隆大学 嵌入式设备、服务器应用 优点:可用于嵌入式设备和服务器应用。 缺点:准确率相对较低,适用范围有限。 - 支持多种语言模型和工具。- 适用于嵌入式设备和服务器应用。 中等 CMU Sphinx 是

    2024年02月15日
    浏览(85)
  • OpenAI 开源语音识别 Whisper

            Whisper是一个通用语音识别模型。它是在各种音频的大型数据集上训练的,也是一个多任务模型,可以执行多语言语音识别以及语音翻译和语言识别。                人工智能公司 OpenAI 拥有 GTP-3 语言模型,并为 GitHub Copilot 提供技术支持的 ,宣布开源了

    2024年02月09日
    浏览(71)
  • 开源(离线)中文语音识别ASR(语音转文本)工具整理

    开源(离线)中文语音识别ASR(语音转文本)工具整理 Open AI在2022年9月21日开源了号称其英文语音辨识能力已达到人类水准的Whisper神经网络,且它亦支持其它98种语言的自动语音辨识。 Whisper系统所提供的自动语音辨识(Automatic Speech Recognition,ASR)模型是被训练来运行语音辨识与翻

    2024年02月13日
    浏览(70)
  • 语音识别之百度语音试用和OpenAiGPT开源Whisper使用

    0.前言: 本文作者亲自使用了百度云语音识别,腾讯云,java的SpeechRecognition语言识别包 和OpenAI近期免费开源的语言识别Whisper(真香警告)介绍了常见的语言识别实现原理 1.NLP 自然语言处理(人类语言处理) 你好不同人说出来是不同的信号表示 图 a a1 2.处理的类别 3.深度学习带来语言

    2024年02月03日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包