如何全面掌握开源语音识别FunASR入门知识?
摘要:FunASR是由阿里达摩院开发的开源语音识别工具包,本文首先简单介绍了其安装过程,然后对其几个主要功能分别进行了介绍,最后以一个实时录音并识别的小例子进行了收尾。
1 前言
1.1 简介
在人工智能的浪潮中,自动语音识别(Automatic Speech Recognition, ASR)技术已成为连接人机交互、赋能各行各业的关键桥梁。从智能客服、会议纪要到实时字幕、车载助手,ASR的应用场景日益丰富,对识别的准确率、实时性和部署便捷性也提出了前所未有的高要求。在这样的背景下,FunASR应运而生。FunASR是由阿里巴巴达摩院语音实验室倾力打造,依托于ModelScope(魔搭)开源社区,面向开发者和企业的新一代工业级语音识别开源工具套件。作为一个基础语音识别工具包,它提供多种功能,包括语音识别(ASR)、语音端点检测(VAD)、标点恢复、语言模型、说话人验证、说话人分离和多人对话语音识别等。FunASR还提供了便捷的脚本和教程,支持预训练好的模型的推理与微调。
1.2 环境准备与安装
1. 准备环境
这里使用Conda创建虚拟环境来安装FunASR及其依赖,这可以有效避免与系统中已有的Python库产生版本冲突,保证项目的纯净和可复现性。官网推荐如下安装环境:
python>=3.8
torch>=1.13
torchaudio
这里沿用之前安装Whisper时的python版本3.10,使用如下命令创建并激活python环境:
conda create -n funasr python=3.10
conda activate funasr
为了更好利用GPU这里使用显卡版本torch库,CUDA驱动如下:
根据环境信息去PyTorch官网获取安装命令,如图所示
官网上也有提示最新版本PyTorch需要Python 3.9及以上版本,所以之前安装的python 3.10是满足要求的,开源项目最头疼的问题就是各种库版本依赖,所以进行安装时尤其要提前考虑各个库版本可能存在的冲突问题,这里在官网命令中增加torchaudio,一并进行安装:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
安装需要下载3个多G数据,需耐心等待,安装完成后各个库版本如下所示:
2. 安装FunASR
1)pip安装
pip3 install -U funasr
2)源码安装
git clone https://github.com/modelscope/FunASR.git && cd FunASR
pip3 install -e ./
这里的-e参数代表“editable”(可编辑),它不会将代码复制到Python的site-packages目录,而是创建一个链接,这意味着对本地FunASR源码所做的任何修改,都会立刻在当前环境中生效,无需重新安装,这对于开发和调试极为便利。之后还可以按照官方建议安装以下两个库,以方便下载、上传和管理模型、数据集等资源。
pip3 install -U modelscope huggingface_hub
安装完成后,会在相应的conda环境目录下产生funasr相关可执行工具,在安装成功后运行funasr时,如果提示为找见funasr命令,可以尝试对当前funasr环境deactivate,然后再重新activate。
可以下载官网提供的示例音频,然后运行相应的命令检查funasr是否安装成功。
命令各部分解析如下:
funasr:是FunASR工具包的主程序入口,用于启动语音识别相关的推理流程。
++model=paraformer-zh:指定使用的语音识别模型为paraformer-zh(达摩院开发的中文 Paraformer 模型),负责将音频中的语音转换为文本。Paraformer是高效的非自回归模型,支持实时语音识别,中文识别准确率高。
++vad_model="fsmn-vad":指定语音活动检测模型为fsmn-vad,用于检测音频中“有语音”和“无语音”的片段,实现自动断句或去除静音,避免将静音部分误识别为文本,提升识别结果的连贯性。
++punc_model="ct-punc":指定标点预测模型为ct-punc,用于给识别出的文本自动添加标点符号(逗号、句号、问号等),解决语音识别默认输出无标点的问题,让文本更易读。
++input=asr_example_zh.wav:指定输入的音频文件路径为asr_example_zh.wav(需是中文语音的语音文件)。
