Metadata-Version: 2.1
Name: picovoice
Version: 2.1.2
Summary: Picovoice is an end-to-end platform for building voice products on your terms.
Home-page: https://github.com/Picovoice/picovoice
Author: Picovoice Inc.
Author-email: hello@picovoice.ai
License: UNKNOWN
Description: # 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.5+
        * Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), Raspberry Pi (all variants), NVIDIA Jetson (Nano), and BeagleBone.
        
        ## 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
        
        handle = Picovoice(
                access_key=access_key,
                keyword_path=keyword_path,
                wake_word_callback=wake_word_callback,
                context_path=context_path,
                inference_callback=inference_callback)
        ```
        
        `handle` 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 `handle.sample_rate`. Expected number of audio samples per
        frame is `handle.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:
            handle.process(get_next_audio_frame())
        ```
        
        When done resources have to be released explicitly
        
        ```python
        handle.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.
        
Keywords: wake word,voice control,speech recognition,voice recognition,natural language understanding
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Requires-Python: >=3.5
Description-Content-Type: text/markdown
