Picovoice Platform
Python API
API Reference for the Python Picovoice SDK (PyPI).
picovoice.Picovoice
Class for the Picovoice SDK.
Picovoice can be initialized using the class __init__()
method.
Resources should be cleaned when you are done using the delete()
method.
picovoice.Picovoice.context_info
The context information of the Picovoice instance.
picovoice.Picovoice.version
The version string of the Picovoice library.
picovoice.Picovoice.frame_length
The number of audio samples per frame that Picovoice accepts.
picovoice.Picovoice.sample_rate
The audio sample rate the Picovoice accepts.
picovoice.Picovoice.__init__()
__init__
method for Picovoice SDK.
Parameters
access_key
str : AccessKey obtained from Picovoice Console.keyword_path
str : Absolute path to Porcupine keyword file (.ppn).wake_word_callback
Callable[None, None] : Function to be called once the wake word has been detected.context_path
str : Absolute path to the Rhino context file (.rhn).inferenceCallback
Callable[[pvrhino.Rhino.Inference], None] : Function to be called once Rhino has an inference ready.porcupine_library_path
Optional[str] : Absolute path to Porcupine's dynamic library. If not set it will be set to the default location.porcupine_model_path
Optional[str] : Absolute path to Porcupine model file (.pv). If not set it will be set to the default location.porcupine_sensitivity
Optional[str] : Wake word sensitivity. It should be a number within [0, 1]. A higher sensitivity results in fewer misses at the cost of increasing the false alarm rate. If not set 0.5 will be used.rhino_library_path
Optional[str] : Absolute path to Rhino's dynamic library. If not set it will be set to the default location.rhino_model_path
Optional[str] : Absolute path to the file containing model parameters. If not set it will be set to the default location.sensitivity
Optional[float] : Inference sensitivity. It should be a number within [0, 1]. A higher sensitivity value results in fewer misses at the cost of (potentially) increasing the erroneous inference rate.endpoint_duration_sec
Optional[float] : Endpoint duration in seconds. An endpoint is a chunk of silence at the end of an utterance that marks the end of spoken command. It should be a positive number within [0.5, 5]. A lower endpoint duration reduces delay and improves responsiveness. A higher endpoint duration assures Rhino doesn't return inference pre-emptively in case the user pauses before finishing the request.requireEndpoint
Optional[bool] : If set toTrue
, Rhino requires an endpoint (a chunk of silence) after the spoken command. If set toFalse
, Rhino tries to detect silence, but if it cannot, it still will provide inference regardless. Set toFalse
only if operating in an environment with overlapping speech (e.g. people talking in the background).
Returns
Picovoice
: An instance of Picovoice SDK.
Throws
picovoice.Picovoice.delete()
Releases resources acquired by Picovoice.
picovoice.Picovoice.process()
Processes a frame of the incoming audio stream. Invokes user-defined callbacks upon detection of wake word and completion of follow-on command inference.
The number of samples per frame can be attained by calling .frame_length
.
The incoming audio needs to have a sample rate equal to .sample_rate
and be 16-bit linearly-encoded.
Picovoice operates on single-channel audio.
Parameters
pcm
List[int] : A frame of audio samples.
Throws
picovoice.Picovoice.reset()
Resets the internal state of Picovoice. It should be called before processing a new stream of audio or when Picovoice was stopped whilst processing a stream of audio.
Throws
picovoice.PicovoiceError
Error thrown if an error occurs within Picovoice
engine.
Exceptions