FunASR框架初步了解;FunASR框架部署及使用;PyTorch版本与python版本的冲突;Fun-ASR-Nano使用问题;
1.FunASR初步了解;
👉目前需要语音转文字的,对文本进行结构化提取字段,以实现控制硬件设施。
👉主要识别的语言种类为:中文。
由此对FunASR进行部署,以及试用。
(1)FunASR是一站式全家桶: 一个完整的语音转文字不只是识别字,还需要很多辅助功能。FunASR 把这些都集成了:
(2)VAD (Voice Activity Detection): 自动切除静音,只把有声音的部分传给模型,省电省资源。
(3)Punctuation (标点预测): 智能给转写的文字加标点符号,让一大段话变得易读。
(4)Timestamp (时间戳): 精确标注每个字出现的时间点,适合做视频字幕。
(5)ITN (Inverse Text Normalization): 把“二零二四年”自动转成“2024年”。
👉也就是说FunASR框架主要是对输入数据的预处理,后处理等,然后整合语音识别的一个框架。
FunASR包含的主要模型:
(1)Paraformer (非自回归模型): 它的王牌模型,识别中文极其精准,速度极快。
(2)SenseVoice: 2024年推出的新宠,不仅能转文字,还能听出你是谁、你是不是在笑、背景是不是在放音乐。
(3)FSMN-Monophone (热词增强): 专门解决“人名、公司名、专业术语”识别不准的问题,你可以通过加“热词表”来强行修正。
不仅如此,FunASR还支持Whisper-large、Qwen等主流的语音识别模型。
👉根据需求来看,选用Paraformer最为合适,需要的是快速精准的识别中文,对情绪和热词方面的需求不高。
2.FunASR部署及使用
(1)FunASR的安装
FunASR部署可以使用pip直接安装到pypi,虚拟环境建立完毕后执行;
pip3 install -U funasr
(2)FunASR模型路径问题
为了防止模型塞满C盘或系统盘(/root),我需要对模型路径进行修改或者指定;
FunASR入口函数已经提供了指定模型路径的参数:
model = AutoModel(
model=model_dir,
vad_model="fsmn-vad",
vad_kwargs={"max_single_segment_time": 30000},
device="cuda:0",
)
从魔塔(www.modelscope)直接下载模型文件,运行以下命令:
modelscope download --model iic/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch --local_dir ./vad_models
直接指定model位置,成功官方运行代码,识别了示例文件;
👉参数model与vad_model不是一个模型:
(1)参数model:是语音识别转文本模型。
(2)参数vad_model:模型将较长的音频分割成较短的片段。
👉遇到一个小坑:
centOS系统没有装ffmpeg,自动用 torchaudio 在读音频
使用ffmpeg可以更稳、支持格式更多:
| 场景 | ffmpeg是否必须 |
|---|---|
| wav / 16k / PCM | ❌ 不必须 |
| mp3 / m4a / flac / 各种野路子音频 | ✅ 强烈建议 |
👉CentOS 8安装ffmpeg需要用到各种系统依赖;
chatgpt有另一种方案,直接Conda安装:
conda install -c conda-forge ffmpeg
✅ 不依赖 SDL2
✅ 不污染系统
✅ torchaudio / funasr 100% 兼容
3.PyTorch版本与python版本的冲突;
👉部署FunASR最新Fun-ASR-Nano时,我习惯性使用3.9版本的python
👉然而在用pip安装依赖时,pip一直在报找不到PyTorch=2.9.0的版本
👉但是在PyTorch官网中,一直都是有2.9.0版本;
👉删除了3.9的conda环境,换上3.1的python环境才解决这个问题。
👉这个版本对应问题在PyTorch中并没有显眼提及,安装PyTorch也要对应高版本的python
4.Fun-ASR-Nano使用问题
FunASR框架成功通过pip安装并使用;
paraformer-zh识别模型也是能够成功运用到框架中,但是Fun-ASR-Nano仍然运行不了;
运行Fun-ASR-Nano首先需要安装transformer。
其次,切换到Fun-ASR-Nano会不停报:
AssertionError: FunASRNano is not registered
暂时不知道怎么解决;
浙公网安备 33010602011771号