Picovoice Wordmark
Start Building
Introduction
Introduction
AndroidC.NETiOSLinuxmacOSNode.jsPythonRaspberry PiWebWindows
AndroidC.NETiOSNode.jsPythonWeb
SummaryPicovoice picoLLMGPTQ
Introduction
AndroidCiOSLinuxmacOSPythonRaspberry PiWebWindows
AndroidCiOSPythonWeb
SummaryPicovoice ZebraHelsinki-NLP/opus_mt
Introduction
AndroidC.NETFlutteriOSJavaLinuxmacOSNode.jsPythonRaspberry PiReactReact NativeWebWindows
AndroidC.NETFlutteriOSJavaNode.jsPythonReactReact NativeWeb
SummaryPicovoice LeopardAmazon TranscribeAzure Speech-to-TextGoogle ASRGoogle ASR (Enhanced)IBM Watson Speech-to-TextWhisper Speech-to-Text
FAQ
Introduction
AndroidC.NETFlutteriOSJavaLinuxmacOSNode.jsPythonRaspberry PiReactReact NativeWebWindows
AndroidC.NETFlutteriOSJavaNode.jsPythonReactReact NativeWeb
Cheetah Model API
SummaryPicovoice CheetahAzure Real-Time Speech-to-TextAmazon Transcribe StreamingGoogle Streaming ASRMoonshine StreamingVosk StreamingWhisper.cpp Streaming
FAQ
Introduction
AndroidC.NETiOSLinuxmacOSNode.jsPythonRaspberry PiWebWindows
AndroidC.NETiOSNode.jsPythonWeb
SummaryAmazon PollyAzure TTSElevenLabsOpenAI TTSPicovoice OrcaChatterbox-TTS-TurboKokoro-TTSKitten-TTS-Nano-0.8-INT8Pocket-TTSNeu-TTS-Nano-Q4-GGUFPiper-TTSSoprano-TTSSupertonic-TTS-2ESpeak-NG
Introduction
AndroidCiOSLinuxmacOSPythonRaspberry PiWebWindows
AndroidCiOSPythonWeb
SummaryPicovoice KoalaMozilla RNNoise
Introduction
AndroidCiOSLinuxmacOSNode.jsPythonRaspberry PiWebWindows
AndroidCNode.jsPythoniOSWeb
SummaryPicovoice EaglepyannoteSpeechBrain
Introduction
AndroidCiOSLinuxmacOSPythonRaspberry PiWebWindows
AndroidCiOSPythonWeb
SummaryPicovoice FalconAmazon TranscribeAzure Speech-to-TextGoogle Speech-to-Textpyannote
Introduction
AndroidArduinoCChrome.NETEdgeFirefoxFlutteriOSJavaLinuxmacOSMicrocontrollerNode.jsPythonRaspberry PiReactReact NativeSafariWebWindows
AndroidC.NETFlutteriOSJavaMicrocontrollerNode.jsPythonReactReact NativeWeb
Porcupine Model API
SummaryPicovoice PorcupineSnowboyPocketSphinx
Wake Word TipsFAQ
Introduction
AndroidArduinoCChrome.NETEdgeFirefoxFlutteriOSJavaLinuxmacOSMicrocontrollerNode.jsPythonRaspberry PiReactReact NativeSafariWebWindows
AndroidC.NETFlutteriOSJavaMicrocontrollerNode.jsPythonReactReact NativeWeb
Rhino Model API
SummaryPicovoice RhinoGoogle DialogflowAmazon LexIBM WatsonMicrosoft LUIS
Expression SyntaxFAQ
Introduction
AndroidArduinoC.NETiOSLinuxmacOSMicrocontrollerNode.jsPythonRaspberry PiWebWindows
AndroidC.NETiOSMicrocontrollerNode.jsPythonWeb
SummaryPicovoice CobraWebRTC VADSilero VAD
FAQ
Introduction
AndroidCiOSLinuxmacOSPythonRaspberry PiWebWindows
AndroidCiOSPythonWeb
SummaryPicovoice BatSpeechbrain Language ID
Introduction
AndroidC.NETFlutteriOSNode.jsPythonReact NativeWeb
AndroidC.NETFlutteriOSNode.jsPythonReact NativeWeb
Introduction
C.NETNode.jsPython
C.NETNode.jsPython
FAQGlossary

Cheetah Speech-to-Text
Python Quick Start

Platforms

  • Linux (x86_64)
  • macOS (x86_64, arm64)
  • Windows (x86_64, arm64)
  • Raspberry Pi (3, 4, 5)

Requirements

  • Picovoice Account & AccessKey
  • Python 3.9+
  • PIP

Picovoice Account & AccessKey

Signup or Login to Picovoice Console to get your AccessKey. Make sure to keep your AccessKey secret.

Quick Start

Setup

  1. Install Python 3.

  2. Install the pvcheetah Python package using PIP:

pip3 install pvcheetah

Usage

Create an instance of the engine and transcribe audio:

import pvcheetah
cheetah = pvcheetah.create(access_key='${ACCESS_KEY}')
def get_next_audio_frame():
pass
while True:
partial_transcript, is_endpoint = cheetah.process(get_next_audio_frame())
if is_endpoint:
final_transcript = cheetah.flush()

Free resources used by Cheetah Streaming Speech-to-Text:

cheetah.delete()

Non-English Languages

In order to use Cheetah with other languages, you need to use the corresponding model file (.pv) for the desired language. The model files for all supported languages are available on the Cheetah GitHub repository.

Train Models over API

You can train models over API without going to the console:

train_model_from_words(
"${ACCESS_KEY}", # AccessKey obtained from Picovoice Console (https://console.picovoice.ai/).
"${OUTPUT_PATH}", # Path to save the newly trained model.
"${LANGUAGE}", # Two-character language code.
{"${NEW_WORD}": set(["${PRONUNCIATION1}", "${PRONUNCIATION2}"])}, # New words with optional custom pronunciation to add to the model.
set(["${BOOST_WORD1}", "${BOOST_WORD2}"])) # Boost words.

(or)

train_model_from_yaml(
"${ACCESS_KEY}", # AccessKey obtained from Picovoice Console (https://console.picovoice.ai/).
"${OUTPUT_PATH}", # Path to save the newly trained model.
"${LANGUAGE}", # Two-character language code.
"${YAML_PATH}") # Path to YAML configuration file.

Check Cheetah Model API docs for a list of supported languages.

Demo

For the Cheetah Streaming Speech-to-Text Python SDK, we offer demo applications that demonstrate how to use the Speech-to-Text engine on real-time audio streams (i.e. microphone input).

Setup

Install the pvcheetahdemo Python package using PIP:

pip3 install pvcheetahdemo

This package installs command-line utilities for the Cheetah Streaming Speech-to-Text Python demos.

Usage

Use the --help flag to see the usage options for the demo:

cheetah_demo_mic --help

Run the following command to start transcribing microphone input:

cheetah_demo_mic --access_key ${ACCESS_KEY}

For more information on our Cheetah Streaming Speech-to-Text demos for Python, head over to our GitHub repository.

Resources

Packages

  • pvcheetah on PyPI
  • pvcheetahdemo on PyPI

API

  • pvcheetah Python API Docs

GitHub

  • Cheetah Streaming Speech-to-Text Python SDK on GitHub
  • Cheetah Streaming Speech-to-Text Python demo on GitHub

Benchmark

  • Real-time Transcription Benchmark

Was this doc helpful?

Issue with this doc?

Report a GitHub Issue
Cheetah Speech-to-Text Python Quick Start
  • Platforms
  • Requirements
  • Picovoice Account & AccessKey
  • Quick Start
  • Setup
  • Usage
  • Non-English Languages
  • Train Models over API
  • Demo
  • Setup
  • Usage
  • Resources
© 2019-2026 Picovoice Inc.PrivacyTerms