从零实现本地语音识别(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
相关推荐
名为沙丁鱼的猫72910 分钟前
【MCP 协议层(Protocol layer)详解】:深入分析MCP Python SDK中协议层的实现机制
人工智能·深度学习·神经网络·机器学习·自然语言处理·nlp
bylander12 分钟前
【AI学习】几分钟了解一下Clawdbot
人工智能·智能体·智能体应用
香芋Yu23 分钟前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习
小咖自动剪辑31 分钟前
Base64与图片互转工具增强版:一键编码/解码,支持多格式
人工智能·pdf·word·媒体
独自归家的兔33 分钟前
从 “局部凑活“ 到 “全局最优“:AI 规划能力的技术突破与产业落地实践
大数据·人工智能
一个处女座的程序猿33 分钟前
AI:解读Sam Altman与多位 AI 构建者对话—构建可落地的 AI—剖析 OpenAI Town Hall 与给创业者、产品/工程/安全团队的实用指南
人工智能
依依yyy33 分钟前
沪深300指数收益率波动性分析与预测——基于ARMA-GARCH模型
人工智能·算法·机器学习
海域云-罗鹏43 分钟前
国内公司与英国总部数据中心/ERP系统互连,SD-WAN专线实操指南
大数据·数据库·人工智能
冬奇Lab1 小时前
深入理解 Claude Code:架构、上下文与工具系统
人工智能·ai编程
Up九五小庞1 小时前
本地部署 + Docker 容器化实战:中医舌诊 AI 项目 TongueDiagnosis 部署全记录-九五小庞
人工智能