9个稳定版本
2.0.2 | 2024年2月5日 |
---|---|
2.0.1 | 2023年11月30日 |
1.2.0 | 2023年3月27日 |
1.1.1 | 2022年12月13日 |
0.9.0 |
|
#234 in 音频
每月128次下载
42MB
690 行
包含(Mach-o库,1.5MB)data/lib/mac/x86_64/libpv_leopard.dylib,(ELF库,1.5MB)libpv_leopard.so,(ELF库,1.5MB)data/lib/linux/x86_64/libpv_leopard.so,(Mach-o库,1.5MB)data/lib/mac/arm64/libpv_leopard.dylib,(ELF库,1.5MB)libpv_leopard.so,(ELF库,1.5MB)libpv_leopard.so 等等。
Rust的Leopard绑定
Leopard语音识别引擎
由加拿大温哥华的Picovoice制作
Leopard是一个设备端的语音识别引擎。Leopard是
- 私有的;所有语音处理都在本地运行。
- 准确
- 紧凑且计算效率高
- 跨平台
- Linux (x86_64)、macOS (x86_64, arm64)、Windows (x86_64)
- Android和iOS
- Chrome、Safari、Firefox和Edge
- Raspberry Pi (5, 4, 3)和NVIDIA Jetson Nano
兼容性
- Rust 1.54+
- 在Linux (x86_64)、macOS (x86_64, arm64)、Windows (x86_64)、Raspberry Pi (5, 4, 3)和NVIDIA Jetson Nano上运行。
安装
首先,您需要在系统上安装Rust和Cargo。
要将leopard库添加到您的应用程序中,请将pv_leopard
添加到您的应用程序的Cargo.toml
清单中
[dependencies]
pv_leopard = "*"
如果您更喜欢克隆仓库并在本地使用它,首先运行copy.sh
。(注意:在Windows上,需要Git Bash或其他bash shell,或者您必须手动将库复制到项目中)。然后您可以引用本地的绑定位置
[dependencies]
pv_leopard = { path = "/path/to/rust/binding" }
访问密钥
Leopard 在初始化时需要有效的 Picovoice AccessKey
。当使用 Leopard SDKs 时,AccessKey
作为您的凭据。您可以免费获取 AccessKey
。请确保保管好您的 AccessKey
。在 Picovoice 控制台 注册或登录以获取您的 AccessKey
。
用法
创建引擎实例并转录音频文件
use leopard::LeopardBuilder;
fn main() {
let access_key = "${ACCESS_KEY}"; // AccessKey obtained from Picovoice Console (https://console.picovoice.ai/)
let leopard: Leopard = LeopardBuilder::new()
.access_key(access_key)
.init()
.expect("Unable to create Leopard");
if let Ok(leopard_transcript) = leopard.process_file("${AUDIO_FILE_PATH}") {
println!("{}", leopard_transcript.transcript);
}
}
将 ${ACCESS_KEY}
替换为您从 Picovoice 控制台 获取的凭据,以及将 ${AUDIO_FILE_PATH}
替换为音频文件路径。
模型文件包含 Leopard 引擎的参数。您可以使用 Picovoice 控制台 创建定制语言模型,然后传递相关文件。
语言模型
Leopard Rust SDK 预装了默认的英语语言模型(.pv
文件)。其他支持的语言的默认模型可以在 lib/common 中找到。
使用 Picovoice 控制台 创建自定义语言模型。在这里,您可以使用自定义词汇和增强现有词汇中的词汇来训练语言模型。
通过 .model_path()
构建参数传入 .pv
文件。
let leopard: Leopard = LeopardBuilder::new()
.access_key("${ACCESS_KEY}")
.model_path("${MODEL_FILE_PATH}")
.init()
.expect("Unable to create Leopard");
词汇元数据
除了转录内容外,Leopard 还会返回每个转录词汇的元数据。可用的元数据项包括:
- 开始时间:指示词汇在转录音频中开始的时间。值以秒为单位。
- 结束时间:指示词汇在转录音频中结束的时间。值以秒为单位。
- 置信度:Leopard 对转录词汇准确性的置信度。它是一个位于
[0, 1]
范围内的数字。 - 说话人标签:如果初始化时启用了说话人识别,说话人标签是一个非负整数,用于标识唯一的说话人,其中
0
保留给未知说话人。如果没有启用说话人识别,该值将始终为-1
。
示例
Leopard Rust 示例项目 是一个 Rust 控制台应用程序,允许使用 Leopard 处理实时音频(即麦克风)和文件。