Porcupine - .NET API
API Reference for the .NET Porcupine SDK (NuGet)
namespace: Pv
Porcupine
public class Porcupine : IDisposable { }
Class for the Porcupine Wake Word engine.
Porcupine.FromBuiltInKeywords()
public static Porcupine FromBuiltInKeywords(string accessKey,IEnumerable<BuiltInKeyword> keywords,string modelPath = null,IEnumerable<float> sensitivities = null)
Porcupine
constructor when using built-in keywords.
Parameters
accessKey
string : AccessKey obtained from Picovoice Console.keywords
IEnumerable<BuiltInKeyword> : List of built-in keywords for detection.modelPath
string : Absolute path to the file containing model parameters (.pv
).sensitivities
IEnumerable<float> : Sensitivities for detecting keywords. Each value should be a number within [0, 1].
Returns
Porcupine
: An instance of Porcupine Wake Word engine.
Throws
PorcupineException
: If an error occurs while creating an instance of Porcupine Wake Word engine.
Porcupine.FromKeywordPaths()
public static Porcupine FromKeywordPaths(string accessKey,IEnumerable<string> keywordPaths,string modelPath = null,IEnumerable<float> sensitivities = null)
Porcupine
constructor when using keyword paths.
Parameters
accessKey
string : AccessKey obtained from Picovoice Console.keywordPaths
IEnumerable<string> : List of absolute paths to keyword model files.modelPath
string : Absolute path to the file containing model parameters (.pv
).sensitivities
IEnumerable<float> : Sensitivities for detecting keywords. Each value should be a number within [0, 1].
Returns
Porcupine
: An instance of Porcupine Wake Word engine.
Throws
PorcupineException
: If an error occurs while creating an instance of Porcupine Wake Word engine.
Porcupine.Process()
public int Process(short[] pcm)
Processes a frame of the incoming audio stream and emits the detection result. The number of samples per frame can be attained by calling .FrameLength
. The incoming audio needs to have a sample rate equal to .SampleRate
and be 16-bit linearly-encoded. Porcupine operates on single-channel audio.
Parameters
pcm
short[] : A frame of audio samples.
Returns
int
: Index of observed keyword at the end of the current frame. Indexing is 0-based and matches the ordering of keyword models provided to the constructor. If no keyword is detected then it returns -1.
Throws
PorcupineException
: If there is an error while processing the audio frame.
Porcupine.FrameLength
public int FrameLength { get; private set; }
Getter for number of audio samples per frame.
Returns
int
: Number of audio samples per frame.
Porcupine.SampleRate
public int SampleRate { get; private set; }
Getter for audio sample rate accepted by Picovoice.
Returns
int
: Audio sample rate accepted by Picovoice.
Porcupine.Version
public string Version { get; private set; }
Getter for version.
Returns
String
: CurrentPorcupine
version.
BuiltInKeyword
public enum BuiltInKeyword{ALEXA,AMERICANO,BLUEBERRY,BUMBLEBEE,COMPUTER,GRAPEFRUIT,GRASSHOPPER,HEY_GOOGLE,HEY_SIRI,JARVIS,OK_GOOGLE,PICOVOICE,PORCUPINE,TERMINATOR}
List of available built-in wake words.
PorcupineException
public class PorcupineException : Exception { }
Exception thrown if an error occurs within Porcupine
Wake Word engine.
Exceptions:
public class PorcupineMemoryException : PorcupineException { }public class PorcupineIOException : PorcupineException { }public class PorcupineInvalidArgumentException : PorcupineException { }public class PorcupineStopIterationException : PorcupineException { }public class PorcupineKeyException : PorcupineException { }public class PorcupineInvalidStateException : PorcupineException { }public class PorcupineRuntimeException : PorcupineException { }public class PorcupineActivationException : PorcupineException { }public class PorcupineActivationLimitException : PorcupineException { }public class PorcupineActivationThrottledException : PorcupineException { }public class PorcupineActivationRefusedException : PorcupineException { }