关于 Vosk + Kaldi + kaldi-dnn-ali-gop 语音识别及评价平台的集成

326 阅读1分钟

操作系统: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())