7 个版本 (重大变更)
使用旧的 Rust 2015
0.6.0 | 2016 年 5 月 25 日 |
---|---|
0.5.0 | 2016 年 3 月 9 日 |
0.4.0 | 2016 年 2 月 29 日 |
0.3.1 | 2016 年 2 月 17 日 |
0.1.0 | 2016 年 1 月 26 日 |
#934 in 音频
用于 ness
24KB
606 行
PocketSphinx
pocketsphinx
crate 为原生 libpocketsphinx
库提供了一个安全的封装。
依赖项
为了使用此 crate,您必须安装 libpocketsphinx
库,并使其可通过 pkg-config
找到。
在基于 Debian 的 Linux 发行版上,安装 libpocketsphinx1
软件包
sudo apt-get install libpocketsphinx1
在 OS X 上,使用 Homebrew 安装 cmu-pocketsphinx
brew install --HEAD cmu-sphinxbase
brew install --HEAD cmu-pocketsphinx
有关构建 CMU PocketSphinx 自定义版本的说明,请参阅官方构建文档。
用法
在 Cargo.toml
中将 pocketsphinx
添加为依赖项
[dependencies]
pocketsphinx = "0.6.0"
导入 pocketsphinx
crate,初始化 PocketSphinx 解码器
let ps_config = try!(pocketsphinx::CmdLn::init(true, &["pocketsphinx",
"-hmm", "data/cmusphinx-en-us-5.2",
"-lm", "data/cmusphinx-5.0-en-us.lm",
"-dict", "data/turtle.dic",
]));
let ps_decoder = pocketsphinx::PsDecoder::init(ps_config);
请参阅 PocketSphinx 文档 以了解配置参数的含义。
开始语音识别
try!(ps_decoder.start_utt(Some("utt_id")))
loop {
let input_samples: &[i16] = read_audio();
try!(ps_decoder.process_raw(input_samples, false, false));
if (...) break;
}
停止语音识别并获取结果
try!(ps_decoder.end_utt());
match ps_decoder.get_hyp() {
None => println!("Not recognized"),
Some((hyp, _utt_id, _score)) => println!("Recognized: {}", hyp),
}
许可证
版权所有 © 2016 Mikhail Trishchenkov
在 MIT 许可证 下分发。
注意:使用此 crate 时,您的可执行文件将链接到 libpocketsphinx
C 库,该库在 简化版 BSD 许可证 下提供。
依赖项
~60KB