模型介绍
中文整理Highlights
🚀 由 FunASR 驱动 · 阿里通义实验室开源工业级语音识别
本模型是 **FunASR** 语音生态的组件模型之一,可与 ASR 模型自由组合成完整流程。FunASR 一套工具打通 **ASR · VAD · 标点 · 说话人分离 · 情感 / 事件识别 · LLM-ASR**,一行代码即可调用本模型。
⭐ **觉得好用?欢迎给我们的开源项目点 Star 支持:**
🌟 FunASR** · **🌟 SenseVoice** · **🌟 Fun-ASR** · **🌟 FunClip**
通过参数量较小的encoder与反卷积predictor实现时间戳预测,时间戳准确率与kaldi force-alignment系统相当(详见下方实验结果)。
FunASR开源项目介绍
FunASR希望在语音识别的学术研究和工业应用之间架起一座桥梁。通过发布工业级语音识别模型的训练和微调,研究人员和开发人员可以更方便地进行语音识别模型的研究和生产,并推动语音识别生态的发展。让语音识别更有趣!
github仓库**
- *最新动态**
- *环境安装**
- *服务部署**
- *模型库**
- *联系我们**
模型原理介绍
Timestamp Prediction Model
目前大部分工业语音识别系统使用外接的强制对齐模型预测ASR模型识别结果的时间戳,这引入了额外的计算开销与时间开销,FunASR提供一种在ASR任务过程中天然的预测识别结果时间戳的方法。
Paraformer通过encoder之后的predictor模块实现token级别的声学表征的生成,predictor中的cif机制通过累积帧级别权重计算了每个token的持续区间与发射位置,这使得通过predictor实现与ASR任务一体化的时间戳预测(Timestamp Prediction, TP)成为了可能。本模型为Paraformer-large-长音频版的衍生模型,通过较小参数量的encoder与升采样cif predictor实现了时间戳预测功能,方便用户自由搭建ASR链路中的功能环节。
其核心点主要有:
Upsample Predictor 模块:在低帧率模型中predictor产生的帧级别权重可能存在预测不稳定的问题,表现为首尾帧出字与连续帧出字,这为基于cif权重的时间戳预测带来了困扰。本模型
- (1) 在predictor的线性层之前引入了反卷积升采样模块与lstm模块,在多倍帧率的情况下预测权重;
- (2) 通过scaled cif对权重进行尺度缩小与平滑,使得cif权重不表现为一个peak而是一段累积过程。通过上述两个操作得到了能用于时间戳预测的帧权重。
基于约5w小时工业数据训练的时间戳预测模型,鲁棒性更强,时间戳准确率更高。
基于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 timestamps.wav
- wav二进制数据,格式bytes,例如:用户直接从文件里读出bytes数据或者是麦克风录出bytes数据。
- 已解析的audio音频,例如:audio, rate = soundfile.read("asr example zh.wav"),类型为numpy.ndarray或者torch.Tensor。
- wav.scp文件,需符合如下要求:
若输入格式wav文件url,api调用方式可参考如下范例:
若输入格式为文件wav.scp与对应的抄本text.txt(注:文件名需要以.txt结尾),可添加 output dir 参数将识别结果写入文件中,api调用方式可参考如下范例:
输出的结果为带有静音标注时间戳的字符串以及排除了静音标注的与token数量一致的时间戳列表:
'text': ' 0.000 0.380;一 0.380 0.560;个 0.560 0.800;东 0.800 0.980;太 0.980 1.140;平 1.140 1.260;洋 1.260 1.440;国 1.440 1.680;家 1.680 1.920; 1.920 2.040;为 2.040 2.200;什 2.200 2.320;么 2.320 2.500;跑 2.500 2.680;到 2.680 2.880;西 2.880 3.060;太 3.060 3.200;平 3.200 3.380;洋 3.380 3.500;来 3.500 3.660;了 3.660 3.800;呢 3.800 4.160; 4.160 4.440;',
'timestamp': [\[380, 560], [560, 800], [800, 980], [980, 1140], [1140, 1260], [1260, 1440], [1440, 1680], [1680, 1920], [2040, 2200], [2200, 2320], [2320, 2500], [2500, 2680], [2680, 2880], [2880, 3060], [3060, 3200], [3200, 3380], [3380, 3500], [3500, 3660], [3660, 3800], [3800, 4160]]
基于FunASR进行推理
下面为快速上手教程,测试音频(中文,英文)
可执行命令行
在命令行终端执行:
注:支持单条音频文件识别,也支持文件列表,列表为kaldi风格wav.scp: wav id wav path
python示例
非实时语音识别
注: model hub :表示模型仓库, ms 为选择modelscope下载, hf 为选择huggingface下载。
实时语音识别
注: chunk size 为流式延时配置, [0,10,5] 表示上屏实时出字粒度为 10*60=600ms ,未来信息为 5*60=300ms 。每次推理输入为 600ms (采样点数为 16000*0.6=960 ),输出为对应文字,最后一个语音片段输入需要设置 is final=True 来强制输出最后一个字。
语音端点检测(非实时)
语音端点检测(实时)
标点恢复
时间戳预测
更多详细用法(示例)
Benchmark
我们提供Aishell-1数据、内部工业大数据实验中本模型、Paraformer-large-长音频版模型以及kaldi hybrid系统的force-alignment模型的时间戳准确率比较。平均偏移时间(Accumulated averaged shift, AAS)通过计算文本中匹配的token时间戳起始位置相较于人工标注时间戳的相对偏移时间之和的平均值衡量时间戳的准确程度。
Data System AAS(ms)
- ---------------- ----------------------- ----------
Aishell-1 Force-alignment 80.1
Paraformer CIF 71.0
Industrial Data Force-alignment 60.3
Paraformer-large CIF2 65.3
Paraformer-FA 69.3
使用方式以及适用范围
运行范围
支持Linux-x86 64,Mac和Windows。
使用方式
直接推理:可以直接通过输入的音频与文字进行时间戳预测,输出与文字序列同步的时间戳。
使用范围与目标场景
适合于离线场景,对不同声学环境中的语音均能够较好的支持,但需要注意输入的文字与语音中的内容不匹配时预测可能会不稳定。
模型局限性以及可能的偏差
考虑到特征提取流程和工具以及训练工具差异,会对AAS的数据带来一定的差异(
优先采用原作者提供的中文模型卡片;仅有英文说明时由闲社AI翻译整理。重要参数、许可证和商用范围请以原文为准。
你将获得什么
完整仓库方式包含该固定版本中的权重、配置、分词器及说明文件;指定版本方式只下载所选文件或整组分片。多模态模型的投影文件、配置等依赖,请按作者说明配齐。
完整仓库可能包含多个权重格式,因此需要的磁盘空间可能大于单一格式的模型大小。下载文件不等于完成模型部署。
使用前须知
运行模型需要的设备、工具与依赖,以原作者说明为准。
是否允许商用、修改和分发,请查看模型许可证。
闲社提供资料与镜像下载方法,不代表已运行模型或完成安全审计。下载的代码应先检查,再执行。
资料或下载有问题?
登录后可提交反馈。
