如何在Win10系统本地部署语音转文字模型FunASR

诸神缄默不语-个人CSDN博文目录

官方GitHub项目:https://github.com/modelscope/FunASR

1. 配置Python 3虚拟环境

我是用Anaconda来管理Python 3虚拟环境,可以参考我写的另一篇博文:Anaconda教程(持续更新ing…)

2. 安装FunASR环境

其实也不用太在乎环境依赖问题,我就是用的老版PyTorch所以没安torchaudio所以在安装torchaudio的过程中直接安了新版的PyTorch,虽然其实我的cuda版本不符合要求,但是反正cuda is_available了……
总之能跑,又不是不能跑,别管那么多。

在虚拟环境中运行如下命令:

pip install funasr
pip install modelscope

modelscope包是下载模型权重用的,如果不用SDK下载或者直接用huggingface下载可以不安这个包。

如果用torchaudio的话就补上:pip install torchaudio

3. 下载模型权重

如果时间充裕的话其实每次都可以直接在脚本里下载,但是我选择提前下好,在脚本里推理的时候就直接调用。

我是因为只用中文,所以就直接下了中文模型和对应的punctuation模型。
可以直接运行如下代码:

from modelscope import snapshot_download
model_dir = snapshot_download('iic/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch',
                              cache_dir="pretrained_checkpoints")
model_dir = snapshot_download('iic/punc_ct-transformer_cn-en-common-vocab471067-large',
                              cache_dir="pretrained_checkpoints")

4. 运行语音转文字脚本

代码:

from funasr import AutoModel
from funasr.utils.postprocess_utils import rich_transcription_postprocess

model_dir = r"pretrained_checkpoints\iic\speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch"
punc_dir=r"pretrained_checkpoints\iic\punc_ct-transformer_cn-en-common-vocab471067-large"

model = AutoModel(
    model=model_dir,
    vad_model="fsmn-vad",
    vad_kwargs={"max_single_segment_time": 30000},
    device="cuda:0",
    punc_model=punc_dir,
)

res = model.generate(
    input=r"pretrained_checkpoints\iic\speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch\example\asr_example.wav",
    cache={},
    language="zn",
    use_itn=True,
    batch_size_s=60,
    merge_vad=True,
    merge_length_s=15,
)
text = rich_transcription_postprocess(res[0]["text"])
print(text)

输出text:正是因为存在绝对正义,所以我们接受现实的相对正义。但是不要因为现实的相对正义,我们就认为这个世界没有正义。因为如果当你认为这个世界没有正义。

需要注意的是,如果不设置punc_model的话输出会没有标点符号,是每个汉字之间空一格的那种形式。

5. 常见问题

  1. FileNotFoundError: [WinError 2] 系统找不到指定的文件。
    解决方案:安装FFmpeg,可以参考这篇博文:【最新】windows电脑FFmpeg安装教程手把手详解_windows安装ffmpeg-CSDN博客
    参考资料:为什么读取本地音频报错 · Issue #2213 · modelscope/FunASR

6. 本文撰写过程中使用的参考资料

  1. 模型的下载 · 文档中心
  2. 这几个模型名到底都能填写什么? · Issue #2026 · modelscope/FunASR
### 本地部署 FunASR 模型教程及配置说明 #### 创建 Python 虚拟环境并激活 为了确保依赖项不会影响其他项目,在开始之前创建一个新的 Python 3 虚拟环境是非常重要的。这可以通过以下命令完成: ```bash python3 -m venv funasr_env source funasr_env/bin/activate # Linux 或 macOS 用户 funasr_env\Scripts\activate # Windows 用户 ``` 一旦虚拟环境被成功激活,可以继续安装所需的库和工具。 #### 安装 FunASR 及其依赖包 接下来,通过 pip 工具来设置 FunASR 的运行环境。对于想要利用 ModelScope 中发布的预训练模型的情况,还需要额外安装 `modelscope` 库[^3]。 ```bash pip install git+https://github.com/alibaba/FunASR.git@main pip install -U modelscope ``` #### 获取模型权重文件 根据网络连接状况的不同,有两种方式可以获得必要的模型参数: - 对于能够访问互联网的机器,可以直接跳过此步骤,因为后续调用 API 时会自动拉取所需资源。 - 如果是在离线环境下工作,则需提前准备好这些文件,并将其放置在一个合适的位置以便稍后加载使用[^2]。 #### 编写简单的测试程序验证功能正常 最后一步是编写一段简短的 Python 程序来进行初步的功能检测。这段代码展示了如何定义一个推理管道以及执行一次实际的任务实例。 ```python from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks inference_pipeline = pipeline( task=Tasks.auto_speech_recognition, model='damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch', ) rec_result = inference_pipeline(audio_in='path_to_your_audio_file.wav') print(rec_result) ``` 以上就是完整的 Win10 平台上本地部署 FunASR 语音识别系统的指南[^1]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸神缄默不语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值