当前位置: 首页 > 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.xdnf.cn/news/1207927.html

相关文章:

  • 重塑浏览器!微软在Edge加入AI Agent,自动化搜索、预测、整合
  • 数据结构【红黑树】
  • SeeMoE:从零开始实现一个MoE视觉语言模型
  • 【学习笔记】Lean4 定理证明 ing
  • OCR 技术识别全解析:原理、主流方案与实战应用
  • 基于JavaWeb的兼职发布平台的设计与实现
  • React函数组件的“生活管家“——useEffect Hook详解
  • [学习记录]URP流程解析(2)--初始化阶段
  • Rust 实战二 | 开发简易版命令行工具 grep
  • Java程序数据库连接满问题排查指南
  • napping-1.0.1靶机练习
  • SQLAlchemy 全方位指南:从入门到精通
  • RabbitMQ面试精讲 Day 7:消息持久化与过期策略
  • 【C++算法】78.BFS解决FloodFill算法_算法简介
  • umijs局域网访问警告Disconnected from the devServer,trying to reconnect...
  • C++跨平台连接多种数据库实战
  • 时序数据库选型指南:为什么IoTDB正在重新定义工业大数据规则?
  • C# CAN通信上位机系统设计与实现
  • vue相关的拖拉拽官网
  • 【LeetCode】前缀表相关算法
  • 【PHP】通过IP获取IP所在地理位置(免费API接口)
  • 数据结构(5)单链表算法题(中)
  • 【LLM】——qwen2.5 VL模型导出到onnx
  • uni-app x开发避坑指南:拯救被卡顿的UI线程!
  • 7月29日星期二今日早报简报微语报早读
  • 前端手写贴
  • PyTorch 数据类型和使用
  • Arduino与STM32:初学者该如何选择?
  • 【LeetCode 热题 100】(二)双指针
  • Mac安装Navicat步骤Navicat Premium for Mac v17.1.9【亲测】