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.pswp.cn/pingmian/91234.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91234.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/91234.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OWSM v4 语音识别学习笔记

目录 OWSM v4 简介 卡内基梅隆大学 这个代码不知道干嘛的 tokenizer CTC分割算法 yodas2数据集 依赖性安装: 数据集下载地址; 模型下载地址: docker安装(适用于多数 Linux 系统)测试ok 推理demo OWSM v4 简介…

机器学习线性回归:从基础到实践的入门指南

目录 一、线性回归的基本概念 二、线性回归的核心原理 三、线性回归的实现步骤 1.数据准备与预处理 2.模型训练 3.模型评估 (四)模型优化与应用 四、线性回归的应用场景 五、线性回归的进阶方向 在机器学习的广阔领域中,线性回归是入…

6.Linux 系统启动过程,破解root密码与故障修复

Linux :系统启动过程,破解root密码与故障修复 一、标准启动流程 开机自检 (BIOS/UEFI POST) 硬件初始化与检测 MBR引导 读取硬盘主引导记录(512字节) GRUB2菜单 加载 /boot/grub2/grub.cfg 显示启动菜单 加载Linux内核 载入Linux 内核文件 内…

特产|基于SSM+vue的南阳特产销售平台(源码+数据库+文档)

南阳特产销售平台 基于SSMvue的南阳特产销售平台 一、前言 二、系统设计 三、系统功能设计 平台功能模块 管理员功能模块 商家功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大…

线性代数常见的解题方法

一.行列式 1.利用行列式的性质进行简化 (1)重要行列式 主对角线,副对角线(不要忘了-1的次数),拉普拉斯展开(副对角线是m*n),范德蒙 (2)行列式展开定理 每一行/列的元素乘以它对应的代数余子式 扩展:拉普拉斯展开定理,可以按照任意行和列数进行展开,行列式的值=|A|*…

Websocket实时行情接口 (2025最新使用教程)

本教程将指导您如何使用Java Websocket客户端连接实时行情接口,并订阅相关数据。 步骤1:配置您的项目 确保您的项目已引入以下依赖: jakarta.websocket-apijakarta.websocket-client-apifastjson2lombokspring-context (如果使用Spring框架) …

【JEECG】JVxeTable表格拖拽排序功能

功能说明: 实现JVxeTable表格拖拽排序功能 解决子表拖拽排序后,点击保存数据,未实现拖拽排序后效果 参数配置: 提示: 1.开启 dragSort 属性之后即可实现上下拖拽排序。 2.使用 sortKey 属性可以自定义排序保存的 key&…

【腾讯云】EdgeOne网站安全防护的配置方法 防范盗刷流量 附恶意IP和UA黑名单

经过上个月的前车之鉴,我摸索出一套针对腾讯云EdgeOne《付费版》的安全配置模板,仅供各位站长参考 配置方法 一、在EdgeOne控制面板页面,点击要配置的域名。 二、进入后,点击安全防护-WEB防护-自定义规则,按图所示添加…

白玩 一 记录retrofit+okhttp+flow 及 kts的全局配置

先回忆下flow吧! flow是啥 Flow 是 Kotlin 协程框架中的一个异步数据流处理组件,专为响应式编程设计,适用于需要连续或异步返回多个值的场景,如网络请求、数据库查询、传感器数据等 1 ‌异步流(Asynchronous Stream…

犯罪现场三维还原:科技助力刑侦变革

在刑侦领域,犯罪现场的准确还原对于案件侦破起着至关重要的作用。传统的现场记录方式,如拍照、绘图等,虽然能获取一定信息,但难以全面、直观地呈现现场全貌,容易遗漏关键细节,且在后期分析和信息传达上存在…

go-admin 构建arm镜像

目录 1、 go-admin Dockerfile 2、docker build go-admin 3、settings.yml 4、go-admin-ui Dockerfile 5、docker build go-admin-ui 6、go-admin.yaml 7、go-admin-ui.yaml 1、 go-admin Dockerfile # 构建阶段:使用 Go 1.24 版本(支持远程调试) FROM golang:1.24-…

深入浅出:C++ STL简介与学习指南

目录 前言 STL的版本演变 STL六大组件 STL的重要性 如何学习STL STL的缺陷 总结 前言 什么是STL? STL(Standard Template Library,标准模板库)是C标准库的核心组成部分,它不仅是一个可复用的组件库,更是一…

Mysql事务原理

脏读(Dirty Read) 某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个进行了RollBack,则后一个事务所读取的数据就会是不正确的。 不可重复读(Non-repeatable read) 在一个事务的两次查询之中数据不一…

小红书笔记详情API指南

一、引言小红书作为中国领先的社交电商平台,拥有超过4.8亿用户(2025年Q2数据),其开放平台已成为品牌营销与数据挖掘的重要渠道‌1。通过笔记详情API获取数据,可以帮助商家、品牌方和数据分析人员了解用户反馈、市场趋势和消费需求‌。这些数据…

VS+Qt中使用QCustomPlot绘制曲线标签(附源码)

在qt中我们常常会使用数据来绘制曲线,常用的的绘制方法用QCutomPlot、QChart和QPrinter。有时我们会根据需要在曲线进行二次绘制,包括对曲线打标签,显示某个点的值等功能。本文主要为大家介绍在QCustomPlot中使用QCPItemTracer和QCPItemText绘…

Spring Boot项目生产环境部署完整指南

在Spring Boot应用开发完成后,如何将其稳定、高效地部署到生产环境是每个开发者都需要掌握的关键技能。本文将详细介绍Spring Boot项目的多种部署方案,从传统部署到现代化容器部署,选择最适合的部署策略。 1. 部署前的准备工作 1.1 项目打包优…

微信小程序中实现页面跳转的方法

微信小程序中页面跳转主要有两种方式:声明式导航(通过组件实现)和编程式导航(通过API实现)。两种方式适用于不同场景,以下详细说明。一、声明式导航(navigator组件)通过小程序内置的…

从0开始学linux韦东山教程Linux驱动入门实验班(7)

本人从0开始学习linux,使用的是韦东山的教程,在跟着课程学习的情况下的所遇到的问题的总结,理论虽枯燥但是是基础。本人将前几章的内容大致学完之后,考虑到后续驱动方面得更多的开始实操,后续的内容将以韦东山教程Linux驱动入门实…

国内AI IDE竞逐:腾讯CodeBuddy、阿里通义灵码、字节跳动TRAE、百度文心快码

国内AI IDE竞逐:腾讯CodeBuddy、阿里通义灵码、字节跳动TRAE、百度文心快码 随着人工智能技术的不断发展,各大科技公司纷纷推出自家的AI IDE,推动软件开发进入全新的智能化时代。腾讯的 CodeBuddy IDE、阿里云的 通义灵码 AI IDE、字节跳动的…

git rebase使用教程 以及和merge的区别

Merge和Rebase概念概述 rebase 和 merge 相似,但又不完全相同,本质上都是用来合并分支的命令,区别如下 merge合并分支会多出一条merge commit记录,而rebase不会merge的提交树是非线性的,会有分叉,而rebase的…