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.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的…