FunASR是由达摩院语音实验室开源的一款语音识别工具包,集成了语音端点检测、语音识别、标点预测等领域的工业级模型的训练和部署,吸引了众多开发者参与体验和开发。在7月初,FunASR社区发布了离线文件转写软件包,实现了高精度、高效率、高并发的长音频离线文件转写,并在8月份发布了支持流式语音识别软件包。
与此同时,FunASR面对社区用户的需求与反馈进行优化与支持,推出离线文件转写软件包2.0,主要有三个方面的更新——集成ffmpeg支持多种音视频输入、支持热词模型、支持时间戳模型。
(最新迭代上线)FunASR离线文件转写软件包2.0:
https://github.com/alibaba-damo-academy/FunASR/blob/main/funasr/runtime/docs/SDK_tutorial_zh.md
(8月初发布)FunASR实时语音听写软件包:
▎离线文件转写软件包2.0
图1 FunASR离线文件转写软件包2.0的新增特征
在2.0版本中,我们首先通过对ffmpeg的集成,实现了server端对多种音视频文件格式的支持,包括音频(flac, mp3, ogg, opus, m4a, wav, pcm等)、视频(mp4、mov、avi、mkv、wmv、flv等)格式。
此次升级中,我们增加了对热词模型与时间戳模型的支持,以便用户能够在2.0版本中使用自定义热词进行定制化,以及获取输出文本token级别的时间戳。对于热词模型Contextual-Paraformer,在进行ONNX导出时我们将模型分为两部分,获取热词编码的Hotword Embedder部分与Paraformer Backbone部分,以解耦热词编码过程与ASR过程节省计算量。
▎自定义热词与时间戳预测技术
图2 时间戳预测与热词激励模型结构
>>>自定义热词
热词激励策略是解决通用的语音识别系统在特定领域面临的关键词识别效果问题的关键手段。FunASR在非自回归端到端语音识别Paraformer的框架下提出了基于Contextual-Paraformer热词激励模型,可以显著提升热词的识别效果(论文:https://arxiv.org/pdf/2308.03266.pdf)。
如图2 (c)所示,将Paraformer模型作为主体,Contextual-Paraformer在NAR decoder中引入了一个multi-headed attention与最后一层的cross attention并列,分别计算decoder表征与热词表征、encoder输出的注意力再进行结合。
通过上述方式,Paraformer decoder在解码时支持对用户输入的任意热词进行激励(如图3所示)。开源数据集和内部工业数据集上的实验结果展示Contextual-Paraformer可以显著提升热词的识别准确率,平均热词recall提升超过绝对10%。
图3 热词激励实验结果
>>>时间戳预测
时间戳预测是语音识别服务的另一个重要功能。传统的时间戳预测模块普遍采用NN-FA。NN-FA存在系统复杂以及识别模型和FA模型不匹配的问题。FunASR提供的时间戳预测模块采用我们最新提出的基于Paraformer-CIF的端到端时间戳预测模块(论文:https://arxiv.org/pdf/2301.12343.pdf)。
如图2 (b)所示的网络结构,通过引入一个并行的CIF头专门进行时间戳预测,不与ASR的训练耦合。在这个CIF中我们使用卷积升采样,避免因为帧率过低导致的权重不稳定问题。
实验表明这种策略下CIF生成的时间戳稳定并且准确,与传统语音识别模型的强制对齐策略产生的时间戳精准度处于同一水平(如图4所示)并且实现了随着识别过程天然的获取时间戳,省略了获取识别结果之后再进行一次强制对齐的过程,使得整个系统更为简洁。
图4 时间戳预测精度对比
▎使用指南
FunASR离线文件转写软件包当前已经开源。工具包地址:
https://github.com/alibaba-damo-academy/FunASR/blob/main/funasr/runtime/docs/SDK_tutorial_zh.md
操作步骤如下:
第一步:下载安装部署工具
curl-Ohttps://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/shell/funasr-runtime-deploy-offline-cpu-zh.sh
第二步:安装部署
sudobashfunasr-runtime-deploy-offline-cpu-zh.shinstall--workspace ./funasr-runtime-resources
如果需要部署时间戳模型或者热词模型,在安装部署步骤2时选择对应模型,其中1为paraformer-large模型,2为paraformer-large 时间戳模型,3为paraformer-large 热词模型:
第三步:测试与使用
运行上面安装指令后,会在./funasr-runtime-resources下载samples,为客户端测试工具,支持python/c++/java/html网页等语言。
我们以html网页版本client为例,进行说明:
在浏览器中打开samples/html/static/index.html,出现如下页面,输入部署服务器ip与端口号后,可以直接进行体验
离线文件转写(热词模型):
离线文件转写(时间戳模型):
同时我们在云端分别部署了FunASR离线文件转写服务与实时听写服务,用户在浏览器中输入下面网址,即可进行体验:
离线文件转写(热词模型):https://101.37.77.25:1335/static/index.html
离线文件转写(时间戳模型):https://101.37.77.25:1334/static/index.html
实时听写:https://101.37.77.25:1336/static/index.html
▎特别致谢
FunASR实时语音转写软件包归属于FunASR开源项目。在项目开源过程中,众多志同道合的社区开发者们参与进来,与我们共同努力,共享知识、互相支持,形成一种紧密的合作关系,推动着开源项目的发展。
在此特别感谢:赵明(爱医声)、刘柏基(元象唯思)、马勇(北京理工大学)、朱云峰(上海电信)、张旭(云南日报)、邱威(广州荔支网路)、郭欢(卡斯柯)等。
▎联系我们
欢迎对识别模型开源和应用感兴趣的研究人员和开发人员加入Fun-ASR开源社区交流群,共同探讨精进!