本文介绍如何在Windows系统上部署whisper-rs项目进行语言流式转录。

前置条件

构建该项目需要在VS中安装Clang组件,具体教程见:How to Install Clang on Windows - wikiHow。安装组件后,需先打开Developer Command Prompt for VS 2022,在其中输入

Command Prompt for VS 2022
1
where.exe clang

将显示的路径所对应的形如C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin的路径作为环境变量LIBCLANG_PATH,并将路径添加到PATH中。注意不是Llvm\bin,而是Llvm\x64\bin

构建并使用

1
2
git clone --recursive https://github.com/tazz4843/whisper-rs.git
cd whisper-rs

下载ggerganov/whisper.cpp at main中的模型到项目根目录(如ggml-base.en.bin)。还可下载whisper.cpp/samples at master · ggerganov/whisper.cpp中的测试音频文件到项目根目录(如samples_jfk.wav)。

1
2
cargo run --example basic_use .\ggml-base.en.bin .\samples_jfk.wav
cargo run --example audio_transcription

注意,example/audio_transcription.rs需手动设置模型和测试音频文件路径。对于ggml-tiny模型,audio_transcription似乎有bug会触发panic。对于Windows系统,若遇到段错误,请用下述下述代码追踪堆栈信息:

1
$env:RUST_BACKTRACE='full'; cargo run

总结下whisper模型本地部署的体验,感觉对于中文的识别不太行,主要适用于对英文音频的转录。最好优先使用python本地部署,或者直接调用whisper模型的API。

更多内容,请见项目:tazz4843/whisper-rs: Rust bindings to https://github.com/ggerganov/whisper.cpp