picovoice


Namepicovoice JSON
Version 3.0.3 PyPI version JSON
download
home_pagehttps://github.com/Picovoice/picovoice
SummaryPicovoice is an end-to-end platform for building voice products on your terms.
upload_time2024-09-04 18:49:05
maintainerNone
docs_urlNone
authorPicovoice Inc.
requires_python>=3.8
licenseNone
keywords wake word voice control speech recognition voice recognition natural language understanding
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Picovoice

Made in Vancouver, Canada by [Picovoice](https://picovoice.ai)

Picovoice is an end-to-end platform for building voice products on your terms. It enables creating voice experiences
similar to Alexa and Google. But it entirely runs 100% on-device. Picovoice is

- **Private:** Everything is processed offline. Intrinsically HIPAA and GDPR-compliant.
- **Reliable:** Runs without needing constant connectivity.
- **Zero Latency:** Edge-first architecture eliminates unpredictable network delay.
- **Accurate:** Resilient to noise and reverberation. It outperforms cloud-based alternatives by wide margins
[*](https://github.com/Picovoice/speech-to-intent-benchmark#results).
- **Cross-Platform:** Design once, deploy anywhere. Build using familiar languages and frameworks.

## Compatibility

* Python 3.8+
* Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), and Raspberry Pi (Zero, 3, 4, 5).

## Installation

```console
pip3 install picovoice
```

## AccessKey

Picovoice requires a valid Picovoice `AccessKey` at initialization. `AccessKey` acts as your credentials when using Picovoice 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

Create a new instance of Picovoice runtime engine

```python
from picovoice import Picovoice

access_key = "${ACCESS_KEY}" # AccessKey obtained from Picovoice Console (https://console.picovoice.ai/)

keyword_path = ...

def wake_word_callback():
    pass

context_path = ...

def inference_callback(inference):
    # `inference` exposes three immutable fields:
    # (1) `is_understood`
    # (2) `intent`
    # (3) `slots`
    pass

picovoice = Picovoice(
        access_key=access_key,
        keyword_path=keyword_path,
        wake_word_callback=wake_word_callback,
        context_path=context_path,
        inference_callback=inference_callback)
```

`picovoice` is an instance of Picovoice runtime engine that detects utterances of wake phrase defined in the file located at
`keyword_path`. Upon detection of wake word it starts inferring user's intent from the follow-on voice command within
the context defined by the file located at `context_path`. `keyword_path` is the absolute path to
[Porcupine wake word engine](https://github.com/Picovoice/porcupine) keyword file (with `.ppn` suffix).
`context_path` is the absolute path to [Rhino Speech-to-Intent engine](https://github.com/Picovoice/rhino) context file
(with `.rhn` suffix). `wake_word_callback` is invoked upon the detection of wake phrase and `inference_callback` is
invoked upon completion of follow-on voice command inference.

When instantiated, valid sample rate can be obtained via `.sample_rate`. Expected number of audio samples per
frame is `.frame_length`. The engine accepts 16-bit linearly-encoded PCM and operates on single-channel audio.

```python
def get_next_audio_frame():
    pass

while True:
    picovoice.process(get_next_audio_frame())
```

When done resources have to be released explicitly

```python
picovoice.delete()
```

## Non-English Models

In order to detect wake words and run inference in other languages you need to use the corresponding model file. The model files for all supported languages are available [here](https://github.com/Picovoice/porcupine/tree/master/lib/common) and [here](https://github.com/Picovoice/rhino/tree/master/lib/common).

## Demos

[picovoicedemo](https://pypi.org/project/picovoicedemo/) provides command-line utilities for processing real-time
audio (i.e. microphone) and files using Picovoice platform.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Picovoice/picovoice",
    "name": "picovoice",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "wake word, voice control, speech recognition, voice recognition, natural language understanding",
    "author": "Picovoice Inc.",
    "author_email": "hello@picovoice.ai",
    "download_url": "https://files.pythonhosted.org/packages/e3/ef/6ce30e00222e5193029eb5f183ffdf122f67cdd012b13213e8fed53ecc89/picovoice-3.0.3.tar.gz",
    "platform": null,
    "description": "# Picovoice\n\nMade in Vancouver, Canada by [Picovoice](https://picovoice.ai)\n\nPicovoice is an end-to-end platform for building voice products on your terms. It enables creating voice experiences\nsimilar to Alexa and Google. But it entirely runs 100% on-device. Picovoice is\n\n- **Private:** Everything is processed offline. Intrinsically HIPAA and GDPR-compliant.\n- **Reliable:** Runs without needing constant connectivity.\n- **Zero Latency:** Edge-first architecture eliminates unpredictable network delay.\n- **Accurate:** Resilient to noise and reverberation. It outperforms cloud-based alternatives by wide margins\n[*](https://github.com/Picovoice/speech-to-intent-benchmark#results).\n- **Cross-Platform:** Design once, deploy anywhere. Build using familiar languages and frameworks.\n\n## Compatibility\n\n* Python 3.8+\n* Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), and Raspberry Pi (Zero, 3, 4, 5).\n\n## Installation\n\n```console\npip3 install picovoice\n```\n\n## AccessKey\n\nPicovoice requires a valid Picovoice `AccessKey` at initialization. `AccessKey` acts as your credentials when using Picovoice SDKs.\nYou 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\nCreate a new instance of Picovoice runtime engine\n\n```python\nfrom picovoice import Picovoice\n\naccess_key = \"${ACCESS_KEY}\" # AccessKey obtained from Picovoice Console (https://console.picovoice.ai/)\n\nkeyword_path = ...\n\ndef wake_word_callback():\n    pass\n\ncontext_path = ...\n\ndef inference_callback(inference):\n    # `inference` exposes three immutable fields:\n    # (1) `is_understood`\n    # (2) `intent`\n    # (3) `slots`\n    pass\n\npicovoice = Picovoice(\n        access_key=access_key,\n        keyword_path=keyword_path,\n        wake_word_callback=wake_word_callback,\n        context_path=context_path,\n        inference_callback=inference_callback)\n```\n\n`picovoice` is an instance of Picovoice runtime engine that detects utterances of wake phrase defined in the file located at\n`keyword_path`. Upon detection of wake word it starts inferring user's intent from the follow-on voice command within\nthe context defined by the file located at `context_path`. `keyword_path` is the absolute path to\n[Porcupine wake word engine](https://github.com/Picovoice/porcupine) keyword file (with `.ppn` suffix).\n`context_path` is the absolute path to [Rhino Speech-to-Intent engine](https://github.com/Picovoice/rhino) context file\n(with `.rhn` suffix). `wake_word_callback` is invoked upon the detection of wake phrase and `inference_callback` is\ninvoked upon completion of follow-on voice command inference.\n\nWhen instantiated, valid sample rate can be obtained via `.sample_rate`. Expected number of audio samples per\nframe is `.frame_length`. The engine accepts 16-bit linearly-encoded PCM and operates on single-channel audio.\n\n```python\ndef get_next_audio_frame():\n    pass\n\nwhile True:\n    picovoice.process(get_next_audio_frame())\n```\n\nWhen done resources have to be released explicitly\n\n```python\npicovoice.delete()\n```\n\n## Non-English Models\n\nIn order to detect wake words and run inference in other languages you need to use the corresponding model file. The model files for all supported languages are available [here](https://github.com/Picovoice/porcupine/tree/master/lib/common) and [here](https://github.com/Picovoice/rhino/tree/master/lib/common).\n\n## Demos\n\n[picovoicedemo](https://pypi.org/project/picovoicedemo/) provides command-line utilities for processing real-time\naudio (i.e. microphone) and files using Picovoice platform.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Picovoice is an end-to-end platform for building voice products on your terms.",
    "version": "3.0.3",
    "project_urls": {
        "Homepage": "https://github.com/Picovoice/picovoice"
    },
    "split_keywords": [
        "wake word",
        " voice control",
        " speech recognition",
        " voice recognition",
        " natural language understanding"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "22c22d8bc0b5e3cfb3c0c523e4c95d66d300a9fd2872d796a7413c58220050ff",
                "md5": "71c0508de1e092a1ee89b9d234b5a36c",
                "sha256": "7d9cfebe26e33dd3c851656b180224de8107de0aec9935af32eeea7e9b64260b"
            },
            "downloads": -1,
            "filename": "picovoice-3.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "71c0508de1e092a1ee89b9d234b5a36c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 11010,
            "upload_time": "2024-09-04T18:49:04",
            "upload_time_iso_8601": "2024-09-04T18:49:04.303214Z",
            "url": "https://files.pythonhosted.org/packages/22/c2/2d8bc0b5e3cfb3c0c523e4c95d66d300a9fd2872d796a7413c58220050ff/picovoice-3.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e3ef6ce30e00222e5193029eb5f183ffdf122f67cdd012b13213e8fed53ecc89",
                "md5": "608b4d62239e923f2f13471365f85a5a",
                "sha256": "f8958050d847e91f4e571e251b670d4f65ec768991c97a4f735be039f239e006"
            },
            "downloads": -1,
            "filename": "picovoice-3.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "608b4d62239e923f2f13471365f85a5a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 11965,
            "upload_time": "2024-09-04T18:49:05",
            "upload_time_iso_8601": "2024-09-04T18:49:05.491132Z",
            "url": "https://files.pythonhosted.org/packages/e3/ef/6ce30e00222e5193029eb5f183ffdf122f67cdd012b13213e8fed53ecc89/picovoice-3.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-04 18:49:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Picovoice",
    "github_project": "picovoice",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "picovoice"
}
        
Elapsed time: 0.51893s