参考:
语音识别系列︱用python进行音频解析(一)
语音识别系列︱paddlehub的开源语音识别模型测试(二)
上一篇paddlehub是一些预训练模型,paddlespeech也有,所以本篇就是更新paddlespeech里面的模型。
参考:PaddleSpeech 一键预测,快速上手Speech开发任务
PaddleSpeech 是 all-in-one 的语音算法工具箱,包含多种领先国际水平的语音算法与预训练模型。你可以从中选择各种语音处理工具以及预训练模型,支持语音识别,语音合成,声音分类,声纹识别,标点恢复,语音翻译等多种功能,PaddleSpeech Server模块可帮助用户快速在服务器上部署语音服务。
相关依赖:
gcc >= 4.8.5
paddlepaddle >= 2.3.1
python >= 3.7
linux(推荐), mac, windows
文档链接:语音识别
第一个语音识别的示例:
以为安装了paddlespeech,就直接可以用了;
但是有一些案例会报错,所以,最好就是直接git github的,再调用:
参数:
- (必须输入):用于识别的音频文件。
- :ASR 任务的模型,默认值:。
- :模型语言,默认值:。
- :音频采样率,默认值:。
- :ASR 任务的参数文件,若不设置则使用预训练模型中的默认配置,默认值:。
- :模型参数文件,若不设置则下载预训练模型使用,默认值:。
- ;不需要设置额外的参数,一旦设置了该参数,说明你默认同意程序的所有请求,其中包括自动转换输入音频的采样率。默认值:。
- :执行预测的设备,默认值:当前系统下 paddlepaddle 的默认 device。
- : 如果使用,显示 logger 信息。
预训练模型包括:
另外官方有一个demo,是使用预训练模型的jupyter : 使用 Transformer 进行语音识别tutorial_transformer.ipynb
感觉跟以上的不同,可能后续会试一下
可以看:punctuation_restoration/README_cn.md
案例2:
参数:
- (必须输入):原始文本。
- :子任务,默认值:。
- :文本模型类型,默认值:。
- :模型语言, 默认值:。
- :文本任务的配置文件,若不设置则使用预训练模型中的默认配置,默认值:。
- :模型参数文件, 若不设置则下载预训练模型使用,默认值:。
- :标点恢复任务的标点词表文件,默认值:。
- :执行预测的设备,默认值:当前系统下 paddlepaddle 的默认 device。
两个预训练模型,以下是 PaddleSpeech 提供的可以被命令行和 python API 使用的预训练模型列表:
是把语音识别 + 标点恢复同时使用。
参考:视频字幕生成
输出:
不是本文重点,但是这个分类有点意思,就记录一下
识别声音:cls_tutorial.ipynb
声音分类根据用途还可以继续细分:
- 副语言识别:说话人识别(Speaker Recognition), 情绪识别(Speech Emotion Recognition),性别分类(Speaker gender classification)
- 音乐识别:音乐流派分类(Music Genre Classification)
- 场景识别:环境声音分类(Environmental Sound Classification)
- 声音事件检测:各个环境中的声学事件检测
- 动物声音(Animals)
- 自然界产生的声音和水声(Natural soundscapes & water sounds)
- 人类发出的非语言声音(Human, non-speech sounds)
- 室内声音(Interior/domestic sounds)
- 室外声音和一般噪声(Exterior/urban noises)。
笔者随便用同一个视频,不同的模型跑了一下:
paddlehub里面最好的是模型:
paddlespeech的模型,应该同时有好几个,但是不知道为什么调用起来输出都是一样的
而且会报错
笔者就没有细究了。
paddlehub的结果:
paddlespeech的结果:
从已知的预训练模型调用来看,paddlehub > paddlespeech,但是整体效果都不是特别理想。
可能:
- 语音识别模型,需要用paddlespeech重新训练会更好
- 标点恢复对比,需要设置一些 + 重训练会更好些