Cheetah Speech-to-Text Engine.
Project description
Cheetah Binding for Python
Cheetah Speech-to-Text Engine
Made in Vancouver, Canada by Picovoice
Cheetah is an on-device streaming speech-to-text engine. Cheetah is:
- Private; All voice processing runs locally.
- Accurate
- Compact and Computationally-Efficient
- Cross-Platform:
- Linux (x86_64), macOS (x86_64, arm64), and Windows (x86_64, arm64)
- Android and iOS
- Chrome, Safari, Firefox, and Edge
- Raspberry Pi (3, 4, 5)
Compatibility
- Python 3.9+
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64, arm64), and Raspberry Pi (3, 4, 5).
Installation
pip3 install pvcheetah
AccessKey
Cheetah requires a valid Picovoice AccessKey at initialization. AccessKey acts as your credentials when using Cheetah 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
Basic Transcription
Create an instance of the engine and transcribe audio:
import pvcheetah
handle = pvcheetah.create(access_key='${ACCESS_KEY}')
def get_next_audio_frame():
pass
while True:
partial_transcript, is_endpoint = handle.process(get_next_audio_frame())
if is_endpoint:
final_transcript = handle.flush()
Replace ${ACCESS_KEY} with yours obtained from Picovoice Console. When done be sure
to explicitly release the resources using handle.delete().
Annotated Transcription
Create an instance of the engine and get the audio transcription and word-level metadata:
import pvcheetah
handle = pvcheetah.create(access_key='${ACCESS_KEY}')
def get_next_audio_frame():
pass
while True:
partial_output = handle.process_annotated(get_next_audio_frame())
partial_transcript = partial_output.transcript
partial_words = partial_output.words
is_endpoint = partial_output.is_endpoint
if is_endpoint:
final_output = handle.flush_annotated()
final_transcript = final_output.transcript
final_words = final_output.words
Replace ${ACCESS_KEY} with yours obtained from Picovoice Console. When done be sure
to explicitly release the resources using handle.delete().
Language Model
The Cheetah Python 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 model_path argument:
cheetah = pvcheetah.create(
access_key='${ACCESS_KEY}',
model_path='${MODEL_FILE_PATH}')
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.
Demos
pvcheetahdemo provides command-line utilities for processing audio using Cheetah.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pvcheetah-4.1.1.tar.gz.
File metadata
- Download URL: pvcheetah-4.1.1.tar.gz
- Upload date:
- Size: 40.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a95a6bc5d423167ec879ea90f7bc80bba6a199a8f825db76eda2ec3916946e1e
|
|
| MD5 |
ed3439ad1704197d911a87fdb2c6c351
|
|
| BLAKE2b-256 |
2698f8ab68f51c4424340592943b3cbea92b489fddb9761939709fc10c8c02d3
|
File details
Details for the file pvcheetah-4.1.1-py3-none-any.whl.
File metadata
- Download URL: pvcheetah-4.1.1-py3-none-any.whl
- Upload date:
- Size: 40.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1849d847ad65400697bb450fc1d223a543bcdc3585ad7a652b79ca0e0b54c5f7
|
|
| MD5 |
335996fc4d0eae77037c1e076211a3ee
|
|
| BLAKE2b-256 |
023e8e9ed4aa9a2248cd41eb0f98fcb35e58743a2922e79bb8161cad3e110b37
|