Orca Streaming Text-to-Speech Engine demos
Project description
Orca Streaming Text-to-Speech Engine Python Demo
Made in Vancouver, Canada by Picovoice
Orca
Orca is an on-device streaming text-to-speech engine that is designed for use with LLMs, enabling zero-latency voice assistants. Orca is:
- Private; All voice processing runs locally.
- Cross-Platform:
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64)
- Android and iOS
- Chrome, Safari, Firefox, and Edge
- Raspberry Pi (5, 4, 3) and NVIDIA Jetson Nano
Compatibility
- Python 3.8+
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), Raspberry Pi (5, 4, 3), and NVIDIA Jetson Nano.
Installation
pip3 install pvorcademo
AccessKey
Orca requires a valid Picovoice AccessKey
at initialization. AccessKey
acts as your credentials when using Orca
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
Orca supports two modes of operation: streaming and single synthesis.
In the streaming synthesis mode, Orca processes an incoming text stream in real-time and generates audio in parallel. This is demonstrated in the Orca streaming demo.
In the single synthesis mode, the text is synthesized in a single call to the Orca engine.
Streaming synthesis demo
In this demo, we simulate a response from a language model by creating a text stream from a user-defined text. We stream that text to Orca and play the synthesized audio as soon as it gets generated.
To run it, execute the following:
orca_demo_streaming --access_key ${ACCESS_KEY} --text-to-stream ${TEXT}
Replace ${ACCESS_KEY}
with your AccessKey
obtained from Picovoice Console and ${TEXT}
with your text to be
streamed to Orca. Please note that this demo was not tested on macOS.
Single synthesis demo
To synthesize speech in a single call to Orca and without audio playback, run the following:
orca_demo --access_key ${ACCESS_KEY} --text ${TEXT} --output_path ${WAV_OUTPUT_PATH}
Replace ${ACCESS_KEY}
with yours obtained from Picovoice Console, ${TEXT}
with your text to be synthesized,
and ${WAV_OUTPUT_PATH}
with a path to a .wav
file where the generated audio will be stored as a single-channel,
16-bit PCM .wav
file.
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
File details
Details for the file pvorcademo-0.2.0.tar.gz
.
File metadata
- Download URL: pvorcademo-0.2.0.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0247f0666bedcf0720440cb1fa4eb3ca006123b223691e34a3f1a9e25c9923b9 |
|
MD5 | b34af010c9619b094accb6728c0c094f |
|
BLAKE2b-256 | 4e19de74fc109099438eb0f7a3d4ac5de25ca37aa72d1ac63aebbcce709f94e6 |
File details
Details for the file pvorcademo-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: pvorcademo-0.2.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 556e6d5130bf11d3a9d6785e79891bf6dabb79d8f9df1aa8f70367465e5ba709 |
|
MD5 | 9de4ad023a100f61b9b151a1d6dcdb4f |
|
BLAKE2b-256 | b8d575b2d1e210868b7c8b9976a727c3347c40c15ec1f752bb6c4a3405e8a6f9 |