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 speech synthesis runs locally.
- Cross-Platform:
- Linux (x86_64), macOS (x86_64, arm64), 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 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} --model_path ${MODEL_PATH} --text_to_stream ${TEXT}
Replace ${ACCESS_KEY} with your AccessKey obtained from Picovoice Console, ${MODEL_PATH} with a path to any of the model files available under lib/common, 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} --model_path ${MODEL_PATH} --text ${TEXT} --output_path ${WAV_OUTPUT_PATH}
Replace ${ACCESS_KEY} with yours obtained from Picovoice Console, ${MODEL_PATH} with a path to any of the model files available under lib/common, ${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
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 pvorcademo-2.0.0.tar.gz.
File metadata
- Download URL: pvorcademo-2.0.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d63f767332abd55d185f0d545ff1b091257353dc95329741390ffd12bd4c9106
|
|
| MD5 |
f90c3eecd49c6501a74b87e61c8fd648
|
|
| BLAKE2b-256 |
7cf880885a18dd24f8df1799993d4959f79ecf4a9dbc7ffc20b7534385ff73ba
|
File details
Details for the file pvorcademo-2.0.0-py3-none-any.whl.
File metadata
- Download URL: pvorcademo-2.0.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
063b4ab57c5da6fd87de083c85bb8ee057126f7cbcb3708d3e25b443ef8f98ae
|
|
| MD5 |
a195612a801ae39f985448a7ea2ea187
|
|
| BLAKE2b-256 |
651d8ad54c88d36cfc0a152d15abe512086443571ea9a835d39d90b02cfdb957
|