操作系统:ubuntu 20.4 CPU:4核心及以上 内存:8G以上
1. 安装必要的系统依赖
sudo apt update
sudo apt install -y python3-venv python3-dev ffmpeg sox git wget
2. 创建项目目录并进入
mkdir vosk_gop_project && cd vosk_gop_project
3. 创建 Python 虚拟环境
python3.10 -m venv .venv
4. 激活虚拟环境
source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows
5. 在虚拟环境中安全安装 Vosk
pip install vosk
6. 下载中文模型(小型)
wget alphacephei.com/vosk/models…
unzip vosk-model-small-cn-0.22.zip
mv vosk-model-small-cn-0.22 vosk-model-cn
7. 验证安装
python -c "from vosk import Model; print('Vosk 模型加载成功:', Model('vosk-model-cn'))"
8. 克隆 Kaldi 仓库
git clone github.com/kaldi-asr/k…
9. 编译工具链
cd kaldi/tools
sudo apt install -y zlib1g-dev libbz2-dev liblzma-dev gfortran # 安装压缩库
make -j$(nproc)
10. 编译主代码
cd ~/vosk_gop_project/kaldi/tools
./extras/install_openblas.sh
cd ../src
./configure --shared --mathlib=OPENBLAS --use-cuda=no
make depend -j$(nproc)
make -j$(nproc)
11. 添加 kaldi-dnn-ali-gop
cd ..
git clone github.com/tbright17/k…
cp -r kaldi-dnn-ali-gop/src/* src/
12. 重新编译
cd src
make clean
make -j$(nproc)
13 测试程序
from vosk import Model, KaldiRecognizer
import wave
wf = wave.open("test.wav", "rb")
model = Model("vosk-model-cn")
rec = KaldiRecognizer(model, wf.getframerate())
while True:
data = wf.readframes(4000)
if len(data) == 0: break
if rec.AcceptWaveform(data):
print(rec.Result())
print("最终结果:", rec.FinalResult())