Paraformer语音识别-语音唤醒-普通话-粤语-英文-16k-实时-tiny

我要开发同款
匿名用户2024年07月31日
595阅读

技术信息

开源地址
https://modelscope.cn/models/dengcunqin/speech_paraformer-tiny_asr_nat-zh-cantonese-en-16k-vocab8501-online
授权协议
Apache License 2.0

作品详情

模型介绍

基于Paraformer olie large(damo/speechparaformer-largeasr_at-zh-c-16k-commo-vocab8404-olie),更换vocab,增加粤语部分字,减小模型参数大小,通过在普通话1w小时、粤语100小时、英语1w小时音频数据集上进行训练1轮。此版本尚未训练完成,此次放出的为中间模型,最终模型还要训练一段时间。 模型训练和推理代码已改为fuasr1.0。可用于流式(在线)语音识别和语音唤醒(需要的算力很小,速度比较快,边缘设备及手机均可流畅运行)。

Paraformer-large模型介绍

ModelScope-FuASR

FuASR希望在语音识别方面建立学术研究和工业应用之间的桥梁。通过支持在ModelScope上发布的工业级语音识别模型的训练和微调,研究人员和开发人员可以更方便地进行语音识别模型的研究和生产,并促进语音识别生态系统的发展。

最新动态 | 环境安装 | 介绍文档 | 中文教程 | 服务部署 | 模型库 | 联系我们

项目介绍

Paraformer是达摩院语音团队提出的一种高效的非自回归端到端语音识别框架。本项目为Paraformer中文通用语音识别模型,采用工业级数万小时的标注音频进行模型训练,保证了模型的通用识别效果。模型可以被应用于语音输入法、语音导航、智能会议纪要等场景。

Paraformer模型结构如上图所示,由 Ecoder、Predictor、Sampler、Decoder 与 Loss fuctio 五部分组成。Ecoder可以采用不同的网络结构,例如self-attetio,coformer,SAN-M等。Predictor 为两层FFN,预测目标文字个数以及抽取目标文字对应的声学向量。Sampler 为无可学习参数模块,依据输入的声学向量和目标向量,生产含有语义的特征向量。Decoder 结构与自回归模型类似,为双向建模(自回归为单向建模)。Loss fuctio 部分,除了交叉熵(CE)与 MWER 区分性优化目标,还包括了 Predictor 优化目标 MAE。

其核心点主要有:

  • Predictor 模块:基于 Cotiuous itegrate-ad-fire (CIF) 的 预测器 (Predictor) 来抽取目标文字对应的声学特征向量,可以更加准确的预测语音中目标文字个数。
  • Sampler:通过采样,将声学特征向量与目标文字向量变换成含有语义信息的特征向量,配合双向的 Decoder 来增强模型对于上下文的建模能力。
  • 基于负样本采样的 MWER 训练准则。

更详细的细节见:

如何使用与训练自己的模型

本项目提供的预训练模型是基于大数据训练的通用领域识别模型,开发者可以基于此模型进一步利用ModelScope的微调功能或者本项目对应的Github代码仓库FuASR进一步进行模型的领域定制化。

在Notebook中开发

对于有开发需求的使用者,特别推荐您使用Notebook进行离线处理。先登录ModelScope账号,点击模型页面右上角的“在Notebook中打开”按钮出现对话框,首次使用会提示您关联阿里云账号,按提示操作即可。关联账号后可进入选择启动实例界面,选择计算资源,建立实例,待实例创建完成后进入开发环境,进行调用。

基于ModelScope进行推理

  • 流式语音识别api调用方式可参考如下范例:

```#!/usr/bi/ev pytho3

-- ecodig: utf-8 --

Copyright FuASR (https://github.com/alibaba-damo-academy/FuASR). All Rights Reserved.

MIT Licese (https://opesource.org/liceses/MIT)

from fuasr import AutoModel

chuksize = [0, 10, 5] #[0, 10, 5] 600ms, [0, 8, 4] 480ms ecoderchuklookback = 4 #umber of chuks to lookback for ecoder self-attetio decoderchuklook_back = 1 #umber of ecoder chuks to lookback for decoder cross-attetio

model = AutoModel(model="degcuqi/speechparaformer-tiyasrat-zh-catoese-e-16k-vocab8501-olie", modelrevisio="master") cache = {} res = model(iput="example/asrexample普通话.wav", chuksize=chuksize, ecoderchuklookback=ecoderchuklookback, decoderchuklookback=decoderchuklookback, ) prit(res)

import soudfile import os

wavfile = os.path.joi(model.modelpath, "example/asrexample粤语.wav") speech, samplerate = soudfile.read(wavfile)

chukstride = chuksize[1] * 960 # 600ms、480ms

cache = {}

for i i rage(it(le((speech)-1)/chukstride+1)): speechchuk = speech[ichukstride:(i+1)chukstride] isfial = i == it(le((speech)-1)/chukstride+1) res = model(iput=speechchuk, cache=cache, isfial=isfial, chuksize=chuksize, ecoderchuklookback=ecoderchuklookback, decoderchuklookback=decoderchuklook_back, ) prit(res)

## 使用方式以及适用范围

运行范围
- 支持Liux-x86_64、Mac和Widows运行。

使用方式
- 直接推理:可以直接对输入音频进行解码,输出目标文字。
- 微调:加载训练好的模型,采用私有或者开源数据进行模型训练。

使用范围与目标场景
- 适合于实时语音识别场景。


## 模型局限性以及可能的偏差

考虑到特征提取流程和工具以及训练工具差异,会对CER的数据带来一定的差异(<0.1%),推理GPU环境差异导致的RTF数值差异。



## 相关论文以及引用信息

BibTeX @iproceedigs{gao2022paraformer, title={Paraformer: Fast ad Accurate Parallel Trasformer for No-autoregressive Ed-to-Ed Speech Recogitio}, author={Gao, Zhifu ad Zhag, Shiliag ad McLoughli, Ia ad Ya, Zhijie}, booktitle={INTERSPEECH}, year={2022} } ```

功能介绍

模型介绍 基于Paraformer online large(damo/speechparaformer-largeasr_nat-zh-cn-16k-common-vocab8404-online)

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论