从零实现本地语音识别(FunASR)

FunASR 是达摩院开源的综合性语音处理工具包,提供语音识别(ASR)、语音活动检测(VAD)、标点恢复(PUNC)等全流程功能,支持多种主流模型(如 Paraformer、Whisper、SenseVoice)的推理、微调和部署。

1. funasr安装

sh 复制代码
pip install funasr


2. 模型下载

sh 复制代码
pip install modelscope
modelscope download --model iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch


3. 依赖库安装

pip install torch torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install addict, datasets -i https://pypi.tuna.tsinghua.edu.cn/simple

4. 模式一:使用本地模型

4.1 程序编码(本地模型)

python 复制代码
from funasr import AutoModel

model = AutoModel(
    model="./speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch",
    disable_update=True,
    device="cpu"  # 或 "cuda" 如果有GPU
)    
res = model.inference(input="asr_example.wav")
print("识别结果:", res[0]["text"])

4.2. 运行测试(本地模型)

5. 模式二:运行时自动下载模型

5.1 程序编码(运行时下载模型)

python 复制代码
from funasr import AutoModel

model = AutoModel(
    model="paraformer-zh",
    disable_update=True,
    device="cpu"  # 或 "cuda" 如果有GPU
)    
res = model.inference(input="asr_example.wav")
print("识别结果:", res[0]["text"])

5.2 运行测试(运行时下载模型)

下载后,第二次执行则不再下载,但程序启动会检查。

6. 模式三:指定vad等子模型

6.1 程序编码(指定子模型)

python 复制代码
from funasr import AutoModel

model = AutoModel(
    model="paraformer-zh",
    model_revision="v2.0.4",
    vad_model="fsmn-vad",
    punc_model="ct-punc",
    disable_update=True,
    device="cpu"  # 或 "cuda" 如果有GPU
)    
res = model.inference(input="asr_example.wav")
print("识别结果:", res[0]["text"])

6.2 运行测试(指定子模型)

7. 模式四:使用generate

7.1 程序编码(使用generate)

python 复制代码
from funasr import AutoModel
import soundfile as sf

model = AutoModel(
    model="paraformer-zh",
    model_revision="v2.0.4",
    vad_model="fsmn-vad",
    punc_model="ct-punc",
    disable_update=True,
    device="cpu"  # 或 "cuda" 如果有GPU
)    
waveform, _ = sf.read("asr_example.wav")
    
result = model.generate(input=waveform)
print("识别结果:", result[0]["text"])

7.2 运行测试(使用generate)

第二次运行不会下载模型。

sh 复制代码
# 创建虚拟环境
python -m venv sensevoice_env
source sensevoice_env/bin/activate  # Linux/macOS
sensevoice_env\Scripts\activate     # Windows

# 安装 SenseVoice 依赖
pip install torch torchaudio numpy
相关推荐
蹦蹦跳跳真可爱5895 分钟前
Python----神经网络(基于ResNet的汽车分类)
人工智能·python·深度学习·神经网络·汽车
新中地GIS开发老师16 分钟前
25年GIS开发暑期实训营,15天Get三维可视化智慧城市开发项目
前端·人工智能·智慧城市·web·gis开发·webgis·地信
IT科技那点事儿16 分钟前
Accelerate 2025北亚巡展正式启航!AI智御全球·引领安全新时代
人工智能·安全
AI街潜水的八角25 分钟前
手写字魔法消除3:深度学习PmrNet神经网络实现图片修复(含训练代码、数据集和GUI交互界面)
人工智能·深度学习·神经网络
肥猪猪爸35 分钟前
使用LSTM进行时间序列分析
数据结构·人工智能·rnn·深度学习·算法·lstm·时间序列分析
cnbestec36 分钟前
开源即战力!从科研到商用:Hello Robot 移动操作机器人Stretch 3多模态传感融合(RGB-D/激光/力矩)控制方案
人工智能·具身智能·hellorobot·移动操作机器人·stretch 3
大刘讲IT38 分钟前
WMS系统选型与实施避坑手册
运维·人工智能·经验分享·程序人生·能源·制造
华院计算38 分钟前
金砖国家人工智能高级别论坛在巴西召开,华院计算应邀出席并发表主题演讲
人工智能
LlRr42 分钟前
(25年5.28)ChatGPT Plus充值教程与实用指南:附国内外使用案例与模型排行
人工智能·chatgpt
stay night481 小时前
DAY 36神经网络加速器easy
人工智能·深度学习·神经网络