1个不稳定版本
0.1.1 | 2022年3月12日 |
---|---|
0.1.0 |
|
#219 in Windows API
每月 26 次下载
100KB
2.5K SLoC
sapi-lite
Microsoft语音API(SAPI)库的简化封装。
本库的目的是以易于使用的方式公开SAPI功能子集,而不是提供SAPI提供的全部功能。由于重点是相对易用性(与直接处理COM相比)和API的简洁性,本库中缺少许多SAPI功能。
示例
use sapi_lite::stt::{Recognizer, Rule, SyncContext};
use sapi_lite::tts::{SyncSynthesizer};
use std::time::Duration;
sapi_lite::initialize().unwrap();
let synth = SyncSynthesizer::new().unwrap();
synth
.speak("The Doors of Durin, Lord of Moria. Speak, friend, and enter.", None)
.unwrap();
let recog = Recognizer::new().unwrap();
let ctx = SyncContext::new(&recog).unwrap();
let grammar = ctx
.grammar_builder()
.add_rule(&Rule::text("friend"))
.build()
.unwrap();
grammar.set_enabled(true).unwrap();
if let Some(phrase) = ctx.recognize(Duration::from_secs(5)).unwrap() {
println!(
"The gate swings open. Welcome to Moria, {}.",
phrase.text.to_string_lossy()
);
} else {
println!("The gate to Moria remains shut.")
}
sapi_lite::finalize();
依赖项
~154MB
~2.5M SLoC