@picovoice/leopard-node
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

Leopard Binding for Node.js

Leopard Speech-to-Text Engine

Made in Vancouver, Canada by Picovoice

Leopard is an on-device speech-to-text engine. Leopard is:

  • Private; All voice processing runs locally.
  • Accurate [1]
  • Compact and Computationally-Efficient [2]
  • Cross-Platform:
    • Linux (x86_64), macOS (x86_64, arm64), and Windows (x86_64)
    • Android and iOS
    • Chrome, Safari, Firefox, and Edge
    • Raspberry Pi (5, 4, 3) and NVIDIA Jetson Nano

Compatibility

  • Node.js 16+
  • Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), Raspberry Pi (5, 4, 3), and NVIDIA Jetson Nano.

Installation

npm install @picovoice/leopard-node

AccessKey

Leopard requires a valid Picovoice AccessKey at initialization. AccessKey acts as your credentials when using Leopard SDKs. You can get your AccessKey for free. Make sure to keep your AccessKey secret. Signup or Login to Picovoice Console to get your AccessKey.

Usage

Create an instance of the engine and transcribe an audio file:

const { Leopard } = require("@picovoice/leopard-node");

const accessKey = "${ACCESS_KEY}"; // Obtained from the Picovoice Console (https://console.picovoice.ai/)
const audioPath = "${AUDIO_FILE_PATH}"

const leopard = new Leopard(accessKey);

const result = leopard.processFile(audioPath);
console.log(result.transcript);

Replace ${ACCESS_KEY} with yours obtained from Picovoice Console and ${AUDIO_FILE_PATH} to the path an audio file. Finally, when done be sure to explicitly release the resources using leopard.release().

Language Model

The Leopard Node.js SDK comes preloaded with a default English language model (.pv file). Default models for other supported languages can be found in lib/common.

Create custom language models using the Picovoice Console. Here you can train language models with custom vocabulary and boost words in the existing vocabulary.

Pass in the .pv file via the modelPath parameter in the options argument of the Leopard constructor:

const leopard = new Leopard(
    accessKey,
    { modelPath: "${MODEL_FILE_PATH}"});

Word Metadata

Along with the transcript, Leopard returns metadata for each transcribed word. Available metadata items are:

  • Start Time: Indicates when the word started in the transcribed audio. Value is in seconds.
  • End Time: Indicates when the word ended in the transcribed audio. Value is in seconds.
  • Confidence: Leopard's confidence that the transcribed word is accurate. It is a number within [0, 1].
  • Speaker Tag: If speaker diarization is enabled on initialization, the speaker tag is a non-negative integer identifying unique speakers, with 0 reserved for unknown speakers. If speaker diarization is not enabled, the value will always be -1.

Demos

Leopard Node.js demo package provides command-line utilities for processing audio using leopard.

Dependencies (0)

    Dev Dependencies (14)

    Package Sidebar

    Install

    npm i @picovoice/leopard-node

    Weekly Downloads

    117

    Version

    2.0.2

    License

    Apache-2.0

    Unpacked Size

    53.1 MB

    Total Files

    54

    Last publish

    Collaborators

    • albho
    • erismikpico
    • kyeo
    • dynamix70
    • kenarsa
    • ilavery