当前位置: 首页 > news >正文

Windows下基于 SenseVoice模型的本地语音转文字工具

Windows下基于 SenseVoice模型的本地语音转文字工具

前言:

​ 现在很流行Vibe Coding但是指挥大模型写代码其实也是一件非常累的事情,经常需要输入大段的文字去描述问题的现象以及具体的解决方案。刚好看到有一些博主通过本地部署语音大模型实现了语音转文字的功能,然后用语音转文字去指导大模型干活,这确实很方便。

​ 所以自己也去研究了一下可以本地部署的语音识别大模型,通过本地部署这个大模型然后再实现一个客户端程序去与语音识别模型对接,然后全局的通过一个按钮触发语音识别再把识别到的信息输入到窗口。这样可以大大的降低人工体能的消耗非常 nice,后续还可以做一些大模型的联动或许可以做一个自己电脑上的智能体,跟它在电脑的任何使用场景进行一些聊天。

注意:本人是在 windows 环境下部署的其他环境没有测试过。

一、本地部署SenseVoice

  1. Anaconda安装 Anaconda Installers and Packages

  2. 找个目录clone代码,git clone --recursive https://github.com/FunAudioLLM/SenseVoice.git

  3. 创建并激活虚拟环境安装依赖项

#(请注意这里一定要使用 python3.8版本不然的话运行后面会有很多错误,本人已经踩过坑了)
conda create -n sensevoice python=3.8 
conda activate sensevoice#到SenseVoice目录执行,安装依赖(这里如果不是python3.8环境就会出错了)
pip install -r requirements.txt
  1. 检验是否安装成功:
#还是在SenseVoice目录执行
python webui.py#运行后在 http://127.0.0.1:7860页面可以看到官方提供的哪个测试页面(可以录音,但是他提供的音频样例我这里点击好像是失败的)
#如果运行提示缺什么就按照错误安装就可以了,这里我好像确实安装了一个东西才能运行起来展示,但是有点忘了,翻了很多篇文章才看到有提的。

二、语音识别客户端程序

​ 这里我花了两天让 Claude Code 帮我实现了一个简单的客户端程序,还是很效率的,如果自己开发可能要挺多天了。其实原理也比较简单就是软件运行的时候挂一个钩子捕获全局的按钮,如果是录音按钮就进行语音录制然后再存储成文件发给语音识别模型的API就可以了。主要的问题是这里我不太熟悉 python,不知道语音识别模型的API是怎么开放的但是他在帮我看了Git文件夹之后他就给我了一个方案。这里我比较熟悉C++、C#,所以我选择了WPF作为客户端程序的框架。

1.环境准备

  • VS2022 + .Net 9.0

2.源码

效果附图:按F4即可以在任意一个地方唤起语音识别,非常方便。这是我写这个文档的时候截的效果图。

在这里插入图片描述

私聊,有偿10元 分享源码!东西不贵,只想向女朋友证明敲代码能挣钱!

3.其他说明

(1)这里附一个脚本,能够快速运行后端环境。需要注意修改文件夹路径。

这里与语音识别模型连接就是通过 fastapi run --port 50000 的方式启用后端API,这里还需要安装一些依赖,根据错误提示安装即可。

@echo off
REM 设置Anaconda的安装路径
set CONDA_PATH=D:\Software\AnacondaREM 完全禁用所有代理环境变量
set HTTP_PROXY=
set HTTPS_PROXY=
set http_proxy=
set https_proxy=
set ALL_PROXY=
set all_proxy=
set NO_PROXY=
set no_proxy=REM 初始化conda
call "%CONDA_PATH%\Scripts\activate.bat" "%CONDA_PATH%"REM 激活sensevoice环境
call conda activate sensevoiceREM 检查环境是否激活成功
if %errorlevel% neq 0 (echo 错误:无法激活sensevoice环境echo 请确保sensevoice环境已经创建pauseexit /b 1
)echo 已激活sensevoice环境
echo 正在启动FastAPI服务...REM 确保Python也不使用代理
python -c "import os; os.environ.pop('HTTP_PROXY', None); os.environ.pop('HTTPS_PROXY', None); os.environ.pop('http_proxy', None); os.environ.pop('https_proxy', None)"REM 运行FastAPI
fastapi run --port 50000REM 如果需要在运行结束后保持窗口打开,取消下面这行的注释
REM pause

(2)SenseVoice里面可以设置本地大模型的目录,就在api.py

在这里插入图片描述

http://www.lryc.cn/news/603816.html

相关文章:

  • Ubuntu25.04轻量虚拟机Multipass使用Shell脚本自动创建并启动不同版本Ubuntu并复制文件
  • 【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step1—基础环境准备
  • GaussDB 约束的语法
  • 【LeetCode】前缀表相关算法
  • 服务器数据恢复—RAID上层部署的oracle数据库数据恢复案例
  • Node.js 是怎么一步步撼动PHP地位的
  • #C语言——学习攻略:深挖指针路线(三)--数组与指针的结合、冒泡排序
  • 云原生MySQL Operator开发实战(四):测试策略与生产部署
  • 什么情况下会出现数据库和缓存不一致的问题?
  • PowerShell脚本自动卸载SQL Server 2025和 SSMS
  • 传媒行业视频制作:物理服务器租用是隐藏的效率引擎
  • 基于Coze平台的自动化情报采集与处理引擎—实现小红书图文到飞书的端到端同步
  • MySQL数据库 mysql常用命令
  • 堆的理论知识
  • 青少年软件编程图形化Scratch等级考试试卷(一级)2025年6月
  • 人工智能赋能社会治理:深度解析与未来展望
  • 不靠海量数据,精准喂养大模型!上交Data Whisperer:免训练数据选择法,10%数据逼近全量效果
  • 光环云在2025WAIC联合发布“AI for SME 全球普惠发展倡议”
  • docker的安装和配置流程
  • 【监控】非IP监控系统改造IP监控系统
  • [Token]ALGM: 基于自适应局部-全局token合并的简单视觉Transformer用于高效语义分割, CVPR2024
  • docker docker与swarm入门笔记
  • Python中的决策树机器学习模型简要介绍和代码示例(基于sklearn)
  • Unity_SRP Batcher
  • 谷歌采用 Ligero 构建其 ZK 技术栈
  • 【密码学】4. 分组密码
  • ftp加ssl,升级ftps
  • WebRTC(十四):WebRTC源码编译与管理
  • 7月29日星期二今日早报简报微语报早读
  • TCPDump实战手册:协议/端口/IP过滤与组合分析指南