#语音识别 #语音 #stt #api-bindings

vosk

围绕Vosk API语音识别工具包的安全包装

2个不稳定版本

0.2.0 2022年10月1日
0.1.0 2022年6月29日

#476 in 音频

Download history 61/week @ 2024-03-12 125/week @ 2024-03-19 138/week @ 2024-03-26 155/week @ 2024-04-02 101/week @ 2024-04-09 236/week @ 2024-04-16 175/week @ 2024-04-23 99/week @ 2024-04-30 121/week @ 2024-05-07 133/week @ 2024-05-14 92/week @ 2024-05-21 92/week @ 2024-05-28 64/week @ 2024-06-04 77/week @ 2024-06-11 95/week @ 2024-06-18 66/week @ 2024-06-25

每月311次下载
marek_vosk_speech_recognition 中使用

MIT 许可证

44KB
567 代码行

Vosk

Latest release Documentation MIT Build Status

围绕Vosk API语音识别工具包的安全FFI绑定。

用法

// Simplified version of examples/read_wav.rs

// Normally you would not want to hardcode the audio samples
let samples = vec![100, -2, 700, 30, 4, 5];
let model_path = "/path/to/model";

let model = Model::new(model_path).unwrap();
let mut recognizer = Recognizer::new(&model, 16000.0).unwrap();

recognizer.set_max_alternatives(10);
recognizer.set_words(true);
recognizer.set_partial_words(true);

for sample in samples.chunks(100) {
    recognizer.accept_waveform(sample);
    println!("{:#?}", recognizer.partial_result());
}

println!("{:#?}", recognizer.final_result().multiple().unwrap());

设置

编译

Vosk-API动态库必须可以被Rust链接器发现(静态库不可用)。请在此处下载您平台的zip文件 这里

执行以下任一项操作

  • 使用RUSTFLAGS环境变量提供路径,例如:RUSTFLAGS=-L/path/to/the/libraries
  • 创建一个构建脚本并为Cargo提供库的路径,使用cargo:rustc-link-searchcargo:rustc-link-lib

尽管两种方法等效,但后者更实用,因为它不需要开发者记住终端命令。

仅限Windows

  • 将库移动到您的PATH环境变量中的目录。

仅限Linux

执行以下任一项操作

  • 移动到/usr/local/lib/usr/lib
  • LIBRARY_PATH环境变量设置为包含库的目录。

执行

库还必须在运行时可以被可执行文件发现。您必须遵循在编译部分中选择的方法之一。

对于两种方法,您都需要将库复制到可执行文件的根目录(默认情况下为target/<cargo profile name>)。建议您使用例如cargo-make之类的工具来自动化在构建过程中将库从另一个更实用的目录移动到目标位置。

仅限Windows

如果您将库添加到了您的 PATH 目录中,只要目标机器也是如此,则无需额外步骤。

仅限Linux

  • 如果您在编译部分遵循了选项 1: 无需额外步骤,只要目标机器也有提到的目录中的一个包含库即可。
  • 如果您遵循了选项 2: 您需要将包含库的目录添加到环境变量 LD_LIBRARY_PATH 中。请注意,此目录不必与编译步骤中添加到 LIBRARY_PATH 的目录相同。

依赖关系

~0.7–1.4MB
~33K SLoC