# Orca Streaming Text-to-Speech Engine Python Demo
Made in Vancouver, Canada by [Picovoice](https://picovoice.ai)
## 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)
- Android and iOS
- Chrome, Safari, Firefox, and Edge
- Raspberry Pi (3, 4, 5)
## Compatibility
- Python 3.8+
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), and Raspberry Pi (3, 4, 5).
## Installation
```console
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](https://console.picovoice.ai/) 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:
```console
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:
```console
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.
Raw data
{
"_id": null,
"home_page": "https://github.com/Picovoice/orca",
"name": "pvorcademo",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "Streaming Text-to-Speech, TTS, Speech Synthesis, Voice Generation, Speech Engine",
"author": "Picovoice",
"author_email": "hello@picovoice.ai",
"download_url": "https://files.pythonhosted.org/packages/5d/6b/1ab2b0dc0d074b9be68bd004fab711a48b25559f7e3494858fd598969bd2/pvorcademo-1.0.1.tar.gz",
"platform": null,
"description": "# Orca Streaming Text-to-Speech Engine Python Demo\n\nMade in Vancouver, Canada by [Picovoice](https://picovoice.ai)\n\n## Orca\n\nOrca is an on-device streaming text-to-speech engine that is designed for use with LLMs, enabling zero-latency\nvoice assistants. Orca is:\n\n- Private; All speech synthesis runs locally.\n- Cross-Platform:\n - Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64)\n - Android and iOS\n - Chrome, Safari, Firefox, and Edge\n - Raspberry Pi (3, 4, 5)\n\n## Compatibility\n\n- Python 3.8+\n- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), and Raspberry Pi (3, 4, 5).\n\n## Installation\n\n```console\npip3 install pvorcademo\n```\n\n## AccessKey\n\nOrca requires a valid Picovoice `AccessKey` at initialization. `AccessKey` acts as your credentials when using Orca\nSDKs. You can get your `AccessKey` for free. Make sure to keep your `AccessKey` secret.\nSignup or Login to [Picovoice Console](https://console.picovoice.ai/) to get your `AccessKey`.\n\n## Usage\n\nOrca supports two modes of operation: streaming and single synthesis.\n\nIn the streaming synthesis mode, Orca processes an incoming text stream in real-time and generates audio in parallel.\nThis is demonstrated in the Orca streaming demo.\n\nIn the single synthesis mode, the text is synthesized in a single call to the Orca engine.\n\n### Streaming synthesis demo\n\nIn this demo, we simulate a response from a language model by creating a text stream from a user-defined text.\nWe stream that text to Orca and play the synthesized audio as soon as it gets generated.\n\nTo run it, execute the following:\n\n```console\norca_demo_streaming --access_key ${ACCESS_KEY} --text_to_stream ${TEXT}\n```\n\nReplace `${ACCESS_KEY}` with your `AccessKey` obtained from Picovoice Console and `${TEXT}` with your text to be\nstreamed to Orca. Please note that this demo was not tested on macOS.\n\n### Single synthesis demo\n\nTo synthesize speech in a single call to Orca and without audio playback, run the following:\n\n```console\norca_demo --access_key ${ACCESS_KEY} --text ${TEXT} --output_path ${WAV_OUTPUT_PATH}\n```\n\nReplace `${ACCESS_KEY}` with yours obtained from Picovoice Console, `${TEXT}` with your text to be synthesized,\nand `${WAV_OUTPUT_PATH}` with a path to a `.wav` file where the generated audio will be stored as a single-channel,\n16-bit PCM `.wav` file.\n",
"bugtrack_url": null,
"license": null,
"summary": "Orca Streaming Text-to-Speech Engine demos",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://github.com/Picovoice/orca"
},
"split_keywords": [
"streaming text-to-speech",
" tts",
" speech synthesis",
" voice generation",
" speech engine"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3afb4d7baa4cee09828f08d181f7e734cadeb8af5d0d9f81206b2af372c31c39",
"md5": "e22959fef027c846ec24fc3362e8019f",
"sha256": "2a508efd939bd3ae5ac1ede258826a275ad0c86e68fa123b0a374d562fdb5c73"
},
"downloads": -1,
"filename": "pvorcademo-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e22959fef027c846ec24fc3362e8019f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 11621,
"upload_time": "2024-09-03T21:58:57",
"upload_time_iso_8601": "2024-09-03T21:58:57.289487Z",
"url": "https://files.pythonhosted.org/packages/3a/fb/4d7baa4cee09828f08d181f7e734cadeb8af5d0d9f81206b2af372c31c39/pvorcademo-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5d6b1ab2b0dc0d074b9be68bd004fab711a48b25559f7e3494858fd598969bd2",
"md5": "bc7ac0eaf18536761be37d140c5036fb",
"sha256": "9c505011454ab8a2eb5d918850d1f3bc0e7a5d6b3468af2923359dc4c9e6beee"
},
"downloads": -1,
"filename": "pvorcademo-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "bc7ac0eaf18536761be37d140c5036fb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 11585,
"upload_time": "2024-09-03T21:58:58",
"upload_time_iso_8601": "2024-09-03T21:58:58.610059Z",
"url": "https://files.pythonhosted.org/packages/5d/6b/1ab2b0dc0d074b9be68bd004fab711a48b25559f7e3494858fd598969bd2/pvorcademo-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-03 21:58:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Picovoice",
"github_project": "orca",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pvorcademo"
}