Porcupine Wake Word
.NET Quick Start
Platforms
- Linux (x86_64)
- macOS (x86_64, arm64)
- Windows (x86_64)
- BeagleBone
- NVIDIA Jetson Nano
- Raspberry Pi (2, 3, 4)
Requirements
.NET Framework 4.6.1+ / .NET Standard 2.0+ / .NET Core 3.0+:
- Windows (x86_64)
.NET Standard 2.0+ / .NET Core 3.0+:
- Linux (x86_64)
- macOS (x86_64)
.NET Core 3.0+:
- BeagleBone
- NVIDIA Jetson Nano
- Raspberry Pi (2, 3, 4)
.NET 6.0+:
- macOS (arm64)
Picovoice Account & AccessKey
Signup or Login to Picovoice Console to get your AccessKey
.
Make sure to keep your AccessKey
secret.
Quick Start
Setup
Install .NET .
Install the Porcupine NuGet package in Visual Studio or using the .NET CLI:
Usage
Create an instance of Porcupine that detects the included built-in wake words porcupine
and bumblebee
:
Pass in frames of audio to the .Process
function:
Custom Keywords
Create custom keywords using the Picovoice Console .
Download the custom wake word file (.ppn
) and create an instance of Porcupine using the FromKeywordPaths
method:
Non-English Languages
Use the corresponding model file (.pv
) to detect non-English wake words.
The model files for all supported languages are available
on the Porcupine GitHub repository .
Pass in the model file using the modelPath
input argument to change the detection language:
Demo
For the Porcupine .NET SDK, we offer demo applications that demonstrate how to use the Wake Word engine on real-time audio streams (i.e. microphone input) and audio files.
Setup
- Clone the Porcupine repository from GitHub:
- Build the demo:
Usage
Use the --help
flag to see the usage options for the demo:
Ensure you have a working microphone connected to your system and run the following command to detect the built-in keyword porcupine
:
For more information on our Porcupine demos for .NET, head over to our GitHub repository .
Resources
Package
API
GitHub
Benchmark
Further Reading
- Talking Chess: Adding Offline, Cross-Platform Voice Controls to Chess in .NET Core
- From GUI to VUI: Voice-Enabling a Cross-Platform .NET Desktop Application
- How We Added Raspberry Pi Support to Our .NET SDK