7月初,FunASR社区发布了离线文件转写软件包,可以高精度、高效率、高并发的支持长音频离线文件转写,吸引了众开发者参与体验。应开发者需求,FunASR社区再次推出实时语音听写服务软件包,支持实时地进行语音转文字,同时也支持语音句尾用高精度的转写文字修正输出,输出文字带有标点,支持高并发多路请求。
(7月发布)FunASR离线文件转写软件包:
https://github.com/alibaba-damo-academy/FunASR/blob/main/funasr/runtime/docs/SDK_tutorial_zh.md
(8月发布)FunASR实时语音听写软件包:
https://github.com/alibaba-damo-academy/FunASR/blob/main/funasr/runtime/docs/SDK_tutorial_online_zh.md
▎实时语音听写软件包介绍
图1 FunASR实时语音听写服务架构图
FunASR实时语音听写服务包架构如图1所示,集成了实时语音端点检测模型(FSMN-VAD-realtime),语音识别实时模型(Paraformer-online),语音识别非流式模型(Paraformer-offline),标点预测模型(CT-Transformer)。采用多模型协同,既可以实时的进行语音转文字,也可以在说话句尾用高精度转写文字修正输出,输出文字带有标点,支持多路请求。
软件包同时支持websocket与grpc协议,支持以下几种推理配置(mode):
-
实时语音听写服务(ASR-realtime-transcribe)
客户端连续音频数据,服务端检测到音频数据后,每隔600ms进行一次流式模型推理,并将识别结果发送给客户端。同时,服务端会在说话停顿处,做标点断句恢复,修正识别文字。
-
非实时一句话转写(ASR-offline-transcribe)
客户端连续音频数据,服务端检测到音频数据后,在说话停顿处进行一次非流式模型推理,输出带有标点文字,并将识别结果发送给客户端。
-
实时与非实时一体化协同(ASR-realine&offline-twoPass)
客户端连续音频数据,服务端检测到音频数据后,每隔600ms进行一次流式模型推理,并将识别结果发送给客户端。同时,服务端会在说话停顿处,进行一次非流式模型推理,输出带有标点文字,修正识别文字。
>>便捷部署
FunASR社区提供了实时语音听写软件包一键部署方案,开发者可以通过funasr-runtime-deploy-online-cpu-zh.sh一键完成docker安装、镜像启动、服务部署,详见语音识别实时听写服务便捷部署教程👇:
https://github.com/alibaba-damo-academy/FunASR/blob/main/funasr/runtime/docs/SDK_tutorial_online_zh.md
>>高实时性
FunASR语音实时听写软件包,集成了达摩院自研的Paraformer流式实时模型,采用工业大数据训练的非自回归流式识别模型,相比于自回归模型,具有高计算效率与高实时性的优点。
下方图2为流式模型示意图,输入为带有重叠的音频片段,音频默认时长为600ms片段,带有300ms左看与右看,输出为600ms音频片段对应文本输出。同时,为了满足用户不同使用场景,音频片段可以自由配置,通常为480ms,600ms,900ms等。
图2 Paraformer-online-large模型示意图
>>高精度
FunASR软件包集成了达摩院语音实验室在ModelScope开源的基于Paraformer实时和非实时非自回归端到端语音识别模型。这些模型均数万小时工业数据训练,保证了端到端识别的精度。
下方表格对比了Paraformer-large非实时与实时版本与当前最优SOTA模型识别效果:
▎语音识别服务链路
FunASR提供了一套完整的语音识别服务链路,采用多模型协同方案,包括语音端点检测(VAD)、语音识别非实时与实时(ASR)、标点预测(PUNC)。既可以实时的进行语音转文字,也可以在说话句尾用高精度转写文字修正输出,输出文字带有标点,支持多路请求。同时,用户也可以根据业务场景需要,配置为实时语音识别、非实时一句话识别,以及实时与非实时一体化协同等可选择场景。
我们也对长音频输入进行了测试,验证VAD模型对语音识别链路的重要性,具体可以参考:
https://mp.weixin.qq.com/s/DHQwbgdBWcda0w_L60iUww
▎使用指南
FunASR实时语音转写软件包当前已经开源。
工具包地址:
https://github.com/alibaba-damo-academy/FunASR/blob/main/funasr/runtime/docs/SDK_tutorial_online_zh.md
操作步骤如下:
第一步:下载安装部署工具
curl -O https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/shell/funasr-runtime-deploy-online-cpu-zh.sh
第二步:安装部署
sudo bash funasr-runtime-deploy-online-cpu-zh.sh install --workspace ./funasr-runtime-resources
第三步:测试与使用
运行上面安装指令后,会在./funasr-runtime-resources下载samples, 为客户端测试工具,支持python/c++/java/html网页等语言。
我们以html网页版本client为例,进行说明:在浏览器中打开samples/html/static/index.html,出现如下页面,输入部署服务器ip与端口号后,可以直接进行体验。
同时我们在云端部署了FunASR实时语音转写服务,用户可以直接在浏览器中进行体验:https://101.37.77.25:1336/static/index.html