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 2022年3月19日

#234 in 音频

Download history 18/week @ 2024-04-02 4/week @ 2024-05-21

每月128次下载

Apache-2.0

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 处理实时音频(即麦克风)和文件。

依赖项