Picovoice SDK - FAQ
How do I evaluate the performance of Picovoice SDK?
Picovoice SDK relies on Porcupine wake word engine for wake word detection. We have benchmarked the performance of Porcupine software rigorously and published the results here. We have also open-sourced the code, wake word models, and audio files used for benchmarking in the same repository. You can also use the code with your audio files.
The SDK infers users' intent from spoken commands using Rhino Speech-to-Intent engine. Picovoice has done rigorous performance benchmarking on its Rhino Speech-to-Intent engine and published the results publicly here. Also, the audio data, code, and models used for benchmarking have been made publicly available under the Apache 2.0 to facilitate reproducibility.
What's the accuracy of Picovoice platform?
Picovoice SDK relies on Porcupine wake word engine for wake word detection. Porcupine achieves 94% accuracy (detection rate) with 1 false alarm per 10 hours in background speech and ambient noise.
The SDK infers users' intent from spoken commands using Rhino Speech-to-Intent engine. Rhino achieves 97% command acceptance rate when running in noisy environments.
What's the CPU and memory usage of Picovoice end-to-end platform?
It depends on the SDK used (e.g. C, Python, NodeJS, Android, or iOS). On a Raspberry Pi 3, the C SDK uses less than 4 MB of RAM and less than 10% of a single CPU core.
Which platforms does Picovoice support?
- ARM Cortex-M
- ARM Cortex-A
- Raspberry Pi (all variants)
- Linux (x86_64)
- macOS (x86_64)
- Windows (x86_64)
- Modern Web Browsers
What if I only want to detect a wake word?
You can use the Porcupine wake word engine, standalone.
What if I only what to infer user's intent from spoken command but not in always-listening mode?
You can use the Rhino Speech-to-Intent engine, standalone.
Why combine Porcupine wake word and Rhino Speech-to-Intent engines into a single SDK?
We found out that most of our customers are using both engines to create experiences similar to Alexa and Google. By combining the engines into a single SDK we can shorten the customers' development cycle and simplify the integration process into the end product.