Picovoice/cheetah

On-device streaming speech-to-text engine powered by deep learning

什么是 Picovoice / Cheetah?

Cheetah 是一个实时、设备端的语音转文字引擎。它完全离线运行(音频绝不会离开设备),且体积小巧,足以在手机、嵌入式开发板(Raspberry Pi)、浏览器和桌面操作系统上执行。

核心功能

  • 流式转录 – 您输入短音频帧并获得部分转录内容;当语句结束时,您会收到最终转录内容。
  • 单词级别元数据 – 可选的 API 可返回每个单词的时间戳和置信度分数。
  • 多语言 – 开箱即用支持英语、法语、德语、意大利语、葡萄牙语和西班牙语;商业客户可使用其他语言。
  • 跨平台 – 原生 C 库,并提供 Python、Java、.NET、Node.js、React、React-Native、Flutter、iOS、Android 和 Web(纯 JS 或 React)的绑定。它也提供适用于 Linux、macOS、Windows 和 Raspberry Pi 的预构建二进制文件。
  • 隐私优先 – 所有处理均在本地进行;AccessKey 仅用于解锁 SDK 并执行授权。

如何使用(典型流程)

  1. 从 Picovoice 控制台获取 AccessKey(每个 SDK 均需)。
  2. 创建 Cheetah 实例,并使用 AccessKey 和模型文件(默认模型已内置,自定义模型可通过 Picovoice Console 训练)。
  3. 将音频帧(16-bit PCM)输入至 process(或 process_annotated)。该调用会返回部分转录内容以及一个指示语句是否结束的标志。
  4. 当 is_endpoint 为 true 时,调用 flush(或 flush_annotated)以获取最终转录内容。
  5. 完成后释放资源。

示例 (Python)

import pvcheetah
handle = pvcheetah.create(access_key='YOUR_KEY')
while True:
    partial, is_endpoint = handle.process(get_next_frame())
    if is_endpoint:
        final = handle.flush()

README 提供了适用于 C、Swift、Java、Kotlin、Dart、JavaScript、C# 等语言的类似代码片段。

演示与 SDK

此仓库为每个支持的语言/平台提供了一套可立即运行的演示程序(麦克风输入、音频文件模式),以及 Maven、npm、PyPI、CocoaPods、NuGet、Pub 等包列表。

谁需要它?

  • 需要离线语音指令或听写功能的移动应用程序。
  • 不希望将音频传送到云端的嵌入式设备(例如智能音箱、机器人)。
  • 希望在不进行服务器往返的情况下实现设备端转录的 Web 应用程序。
  • 任何重视低延迟、小占用空间和数据隐私的产品。

总结: Cheetah 是一款真正的生产级语音转文字 SDK,专注于设备端、低资源使用场景,并拥有广泛的语言绑定生态系统与演示代码。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目