All systems operationalAI Agent Automation Platform
English
Language简体中文EnglishSelected

Choose your language

speech_mfcca_asr-zh-cn-16k-alimeeting-vocab4950

NPU-ASLP/speech_mfcca_asr-zh-cn-16k-alimeeting-vocab4950

PublisherNPU-ASLP

Download access requirementsModelScope source

本模型主要是解决会议场景下多说话人语音识别的问题,基于ICASSP2022 M2MeT竞赛发布的真实会议场景语料库AliMeeting进行训练,在AliMeeting上实现了目前最新的SOTA性能。 FunASR希望在语音识别方面建立学术研究和工业应用之间的桥梁。通过支持在ModelScope上发布的工业级语音识别模型的训练和微调,研究人员和开发人员可以更方便地进行语音识别模型的研究和生产,并促进语音识别生态系统的发展。

Speech & Audio
Model details

模型介绍

中文整理

MFCCA多说话人语音识别模型介绍

Highlights

本模型主要是解决会议场景下多说话人语音识别的问题,基于ICASSP2022 M2MeT竞赛发布的真实会议场景语料库AliMeeting进行训练,在AliMeeting上实现了目前最新的SOTA性能。

ModelScope-FunASR

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

最新动态**

  • *环境安装**
  • *介绍文档**
  • *中文教程**
  • *服务部署**
  • *模型库**
  • *联系我们**

模型描述

多说话人语音识别(Multi-talker ASR)的目标是识别包含多个说话人的语音,希望能够正确识别极具挑战的说话人重叠(speaker overlap)的语音。近年来,随着深度学习的发展,许多端到端多说话人ASR的方法出现,并在多说话人模拟数据集(如LibriCSS)上取得了良好的效果。然而,包括会议在内的真实场景中包含了更多挑战,如说话人重叠率较高的多人讨论、自由对话风格的语音、说话人数量未知、远场语音信号衰减、噪声和混响干扰等。其中如何利用好麦克风阵列(microphone array)录制的多通道音频,是一直以来的研究重心。最近,跨通道注意力机制在多方会议场景中显示出了优越的效果,能够高效地利用麦克风阵列的多通道信号帮助提升语音识别的性能。目前主要有两类方法,分别为帧级和通道级的跨通道注意力机制。前者注重学习不同通道序列之间的全局相关性,后者注重在每个时间步中对通道信息进行细粒度地建模。

近期,西工大音频语音与语言处理研究组(ASLP@NPU)和阿里巴巴达摩院高校AIR合作论文“MFCCA:Multi-frame cross-channel attention for multi-speaker ASR in multi-party meeting scenario”被语音旗舰会议SLT 2022接收。该论文考虑到麦克风阵列不同麦克风接收信号的差异,提出了一种多帧跨通道注意力机制(MFCCA),该方法对相邻帧之间的跨通道信息进行建模,以利用帧级和通道级信息的互补性。此外,该论文还提出了一种多层卷积模块以融合多通道输出和一种通道掩码策略以解决训练和推理之间的音频通道数量不匹配的问题。在ICASSP2022 M2MeT竞赛上发布的真实会议场景语料库AliMeeting上进行了相关实验,该多通道模型在Eval和Test集上比单通道模型CER分别相对降低了39.9%和37.0%。此外,在同等的模型参数和训练数据下,本文提出的模型获得的识别性能超越竞赛期间最佳结果,在AliMeeting上实现了目前最新的SOTA性能。

帧级跨通道注意力机制(Frame-Level Cross-Channel Attention,FLCCA)如上图(b)所示,其将帧级的多通道信号作为输入,然后学习不同通道序列之间的全局相关性。简单来说,就是将每个通道的高维表示(query)与一组通道平均高维表示对(key-value)映射到输出。

通道级跨通道注意力机制(Channel-Level Cross-Channel Attention,CLCCA)如上图(c)所示,其是在通道的维度上进行计算,也就是对于每个时间步中的通道信息进行注意力机制的计算,起到了一个类似于波束形成的作用。

我们认为帧级跨通道注意力机制和通道级跨通道注意力机制获取时序和空间信息时是可以互补的,提出了一种多帧跨通道注意力机制(Multi-Frame Cross-Channel Attention,MFCCA),如上图(d)所示,其更多地关注相邻帧之间的通道上下文,以建模帧级和通道级的相关性。

更详细的细节见:

论文: MFCCA:Multi-Frame Cross-Channel attention for multi-speaker ASR in Multi-party meeting scenario

论文解读:论文推介:MFCCA--基于多帧跨通道注意力机制的多说话人语音识别

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

本项目提供的预训练模型正如论文所述,是基于AliMeeting、AISHELL-4和700h模拟重叠音频共917h的训练数据训练而成的多通道多说话人识别模型,开发者可以基于此模型进一步利用ModelScope的微调功能或者本项目对应的Github代码仓库FunASR进一步进行模型的领域定制化。

在Notebook中开发

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

基于ModelScope进行推理

推理支持音频格式如下:

  • wav文件路径,例如:data/test/audios/asr example.wav
  • pcm文件路径,例如:data/test/audios/asr example.pcm
  • wav文件url,例如:https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test audio/asr example zh.wav
  • wav二进制数据,格式bytes,例如:用户直接从文件里读出bytes数据或者是麦克风录出bytes数据。
  • 已解析的audio音频,例如:audio, rate = soundfile.read("asr example zh.wav"),类型为numpy.ndarray或者torch.Tensor。
  • wav.scp文件,需符合如下要求:

若输入格式wav文件url,api调用方式可参考如下范例:

输入音频为pcm格式,调用api时需要传入音频采样率参数audio fs,例如:

输入音频为wav格式,api调用方式可参考如下范例:

若输入格式为文件wav.scp(注:文件名需要以.scp结尾),可添加 output dir 参数将识别结果写入文件中,api调用方式可参考如下范例:

识别结果输出路径结构如下:

ref text nosep:去掉分隔符的抄本

score:识别路径得分

text:语音识别结果文件

token:语音识别结果文件,中间用空格隔开

token nosep:语音识别结果文件,中间用空格隔开,去掉分隔符

text.sp.cer:保留分隔符计算的CER结果

text.nosp.cer:去掉分隔符计算的CER结果(ICASSP2022 M2MeT挑战赛结果不计算分隔符)

若输入音频为已解析的audio音频,api调用方式可参考如下范例:

基于ModelScope进行微调

基于AliMeeting数据集进行微调:

AliMeeting数据集可以在openslr上下载。

[数据处理脚本](https://github.com/yufan-aslp/AliMeeting)可以参考ICASSP2022 M2MeT挑战赛的Baseline,如果要跑多通道的数据的话,可以把baseline脚本生成的wav.scp文件中的-c 1改成-c 8,从而生成多通道数据。后续我们也会在Funasr上重新整理数据处理脚本。

AliMeeting数据集格式按如下准备:

其中,text文件中存放音频标注,wav.scp文件中存放wav音频绝对路径,样例如下:

安装FunASR框架,安装命令如下:

代码范例如下:

可将上述代码保存为py文件(如finetune.py),在notebook里面执行,若使用多卡进行训练,如下命令:

如果报P2P的错,可以加上NCCL IGNORE DISABLED P2P=1,如下命令:

在本地机器中开发

基于ModelScope进行微调和推理

支持基于ModelScope上数据集及私有数据集进行定制微调和推理,使用方式同Notebook中开发。

基于FunASR进行微调和推理

FunASR框架支持魔搭社区开源的工业级的语音识别模型的training & finetuning,使得研究人员和开发者可以更加便捷的进行语音识别模型的研究和生产,目前已在Github开源:https://github.com/alibaba-damo-academy/FunASR 。若在使用过程中遇到任何问题,欢迎联系我们:联系方式

FunASR框架安?

安装FunASR和ModelScope

基于FunASR进行推理

接下来会以AliMeeting数据集为例,介绍如何在FunASR框架中使用MFCCA进行推理以及微调。

基于FunASR进行微调

若修改输出路径、数据路径、采样率、batch size等配置,可参照在Notebook开发中私有数据微调部分的代码,修改finetune.py文件中配置,例如:

若想使用多卡进行微调训练,可按执行如下命令:

如果报P2P的错,可以加上NCCL IGNORE DISABLED P2P=1,如下命令:

数据评估及结果(论文)

beam=20,CER tool:https://github.com/yufan-aslp/AliMeeting

model Para (M) Data (hrs) Eval (CER%) Test (CER%)

:-------------------: :---------: :---------: :---------: :---------:

MFCCA 45 917 16.1 17.5

数据评估及结果(modelscope)

beam=10

with separating character (src)

model Para (M) Data (hrs) Eval sp (CER%) Test sp (CER%)

:-------------------: :---------: :---------: :---------: :---------:

MFCCA 45 917 17.1 18.6

without separating character (src)

model Para (M) Data (hrs) Eval nosp (CER%) Test nosp (CER%)

:-------------------: :---------: :---------: :---------: :---------:

MFCCA 45 917 16.4 18.0

可能的偏差

考虑到CER计算代码存在差异,解码beam论文是20,这边为了加快解码速度设置为10,会对CER的数据带来一定的差异(

优先采用原作者提供的中文模型卡片;仅有英文说明时由闲社AI翻译整理。重要参数、许可证和商用范围请以原文为准。

你将获得什么

完整仓库方式包含该固定版本中的权重、配置、分词器及说明文件;指定版本方式只下载所选文件或整组分片。多模态模型的投影文件、配置等依赖,请按作者说明配齐。

完整仓库可能包含多个权重格式,因此需要的磁盘空间可能大于单一格式的模型大小。下载文件不等于完成模型部署。

使用前须知

运行环境

运行模型需要的设备、工具与依赖,以原作者说明为准。

授权范围

是否允许商用、修改和分发,请查看模型许可证。

闲社提供资料与镜像下载方法,不代表已运行模型或完成安全审计。下载的代码应先检查,再执行。

Back to top