Windows 环境下 Golang 与 Vosk-API 语音识别开发环境搭建指南

一、前置准备工作

1、安装Golanghttps://go.dev/doc/install

2、安装window gcc环境。

​ 使用msys2来进行安装

  • 1.下载msys2的安装包,可以通过下面地址下载https://download.csdn.net/download/zhangshenglu1/90970117https://download.csdn.net/download/zhangshenglu1/90970117

  • 安装完成后执行如下命令,更新包库

    cmd 复制代码
    pacman -Syu
  • 安装MinGW-w64 工具链

    cmd 复制代码
    pacman -S mingw-w64-x86_64-toolchain
  • 配置环境变量

  • 验证环境变量是否成功

cmd 复制代码
C:\Users\admin>gcc --version
gcc (Rev5, Built by MSYS2 project) 15.1.0
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

上面说明已经安装成功。

二、拉取vosk-api的相关依赖

1、克隆vosk-api的相关代码

cmd 复制代码
git clone https://github.com/alphacep/vosk-api
cd vosk-api/go/example
# 把代码切换到tagv0.3.45上
git checkout v0.3.45

2、下载模型文件

cmd 复制代码
https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip
// 下载完成后把模型文件复制到vosk-api/go/example,并且改名为model

3、下载vosk-api

cmd 复制代码
https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-win64-0.3.45.zip
将文件拷贝到D:\\source\\vosk目录下,然后解压

4、设置环境变量

cmd 复制代码
set VOSK_PATH=D:\\source\\vosk\\vosk-win64-0.3.45
set LD_LIBRARY_PATH=D:\\source\\vosk\\vosk-win64-0.3.45
set CGO_CPPFLAGS=-I D:\\source\\vosk\\vosk-win64-0.3.45
set CGO_LDFLAGS=-L D:\\source\\vosk\\vosk-win64-0.3.45  -lvosk -lwinpthread -lgcc_s -static-libstdc++ -static-libgcc 
# 需要设置该变量,不然会报 exit status 0xc0000135
set PATH=%PATH%;D:\source\vosk\vosk-win64-0.3.45

5、进行到vosk-api/go/example目录

把这个位置的文件,复制到当前目录。 .../.../python/example/test.wav

此时目录中文件及文件夹为:

cmd 复制代码
D:\source\vosk-api\go\example>dir /b
doc.go
model
README.md
test.wav
test_simple.go

运行程序:

cmd 复制代码
D:\source\vosk-api\go\example>go run . -f test.wav
LOG (VoskAPI:ReadDataFiles():model.cc:213) Decoding params beam=10 max-active=3000 lattice-beam=2
LOG (VoskAPI:ReadDataFiles():model.cc:216) Silence phones 1:2:3:4:5:6:7:8:9:10
LOG (VoskAPI:RemoveOrphanNodes():nnet-nnet.cc:948) Removed 0 orphan nodes.
LOG (VoskAPI:RemoveOrphanComponents():nnet-nnet.cc:847) Removing 0 orphan components.
LOG (VoskAPI:ReadDataFiles():model.cc:248) Loading i-vector extractor from model/ivector/final.ie
LOG (VoskAPI:ComputeDerivedVars():ivector-extractor.cc:183) Computing derived variables for iVector extractor
LOG (VoskAPI:ComputeDerivedVars():ivector-extractor.cc:204) Done.
LOG (VoskAPI:ReadDataFiles():model.cc:282) Loading HCL and G from model/graph/HCLr.fst model/graph/Gr.fst
LOG (VoskAPI:ReadDataFiles():model.cc:308) Loading winfo model/graph/phones/word_boundary.int
{
  "result" : [{
      "conf" : 1.000000,
      "end" : 1.110000,
      "start" : 0.840000,
      "word" : "one"
    }, {
      "conf" : 1.000000,
      "end" : 1.530000,
      "start" : 1.110000,
      "word" : "zero"
    }, {
      "conf" : 1.000000,
      "end" : 1.920000,
      "start" : 1.530000,
      "word" : "zero"
    }, {
      "conf" : 1.000000,
      "end" : 2.310000,
      "start" : 1.920000,
      "word" : "zero"
    }, {
      "conf" : 1.000000,
      "end" : 2.610000,
      "start" : 2.310000,
      "word" : "one"
    }],
  "text" : "one zero zero zero one"
}
{
  "result" : [{
      "conf" : 0.590374,
      "end" : 4.110000,
      "start" : 3.930000,
      "word" : "nah"
    }, {
      "conf" : 0.712806,
      "end" : 4.290000,
      "start" : 4.110000,
      "word" : "no"
    }, {
      "conf" : 0.719885,
      "end" : 4.560000,
      "start" : 4.290000,
      "word" : "to"
    }, {
      "conf" : 0.488564,
      "end" : 4.620000,
      "start" : 4.560000,
      "word" : "i"
    }, {
      "conf" : 0.763203,
      "end" : 4.980000,
      "start" : 4.620000,
      "word" : "know"
    }],
  "text" : "nah no to i know"
}
zero one eight zero three

运行成功,则说明环境搭建成功。

相关推荐
邱邱玩编程15 分钟前
环境变量速切脚本【Windows】
windows
upgrador1 小时前
桌面应用开发:Electron 与 NSIS 的关系、打包流程及 Windows 本地构建实战
javascript·windows·electron
脚踏实地皮皮晨3 小时前
003002004_WPF Panel 基类 官方类定义
开发语言·windows·算法·c#·wpf·visual studio
sukalot3 小时前
windows网络适配器驱动开发-双 STA 连接(下)
windows·驱动开发·stm32
geovindu4 小时前
go:loghelper
开发语言·后端·golang
会编程的土豆6 小时前
GoWeb 处理请求详解:请求行、请求头、请求参数与给客户端响应
开发语言·http·golang
2601_9583529011 小时前
接上USB,焊上麦,通话瞬间安静——WX-0813如何用AI降噪+100dB消回音,把嘈杂通话变成“金子“般清晰
人工智能·算法·语音识别·硬件开发·语音模块·降噪消回音
IT小盘13 小时前
12-Prompt不等于一句话-System-User-Context三层结构
java·windows·prompt
四方云18 小时前
录音转文字完整技术原理(ASR自动语音识别)技术文档
人工智能·机器人·语音识别·外呼系统·销售成长·拓客
PieroPc18 小时前
Python 写的 Windows凭据添加工具 第二版 解决Win11 23H2, 25H2,26H1,共享文件和打印 一部份问题,不是全部!
开发语言·windows·python