Package ai.picovoice.porcupine
Class Porcupine
java.lang.Object
ai.picovoice.porcupine.Porcupine
Java binding for Porcupine wake word engine. It detects utterances of given keywords within an
incoming stream of audio in real-time. It processes incoming audio in consecutive frames and for
each frame emits the detection result. The number of samples per frame can be attained by calling
getFrameLength(). The incoming audio needs to have a sample rate equal to
getSampleRate() and be 16-bit linearly-encoded. Porcupine operates on single-channel
audio.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder for creating an instance of Porcupine with a mixture of default argumentsstatic enum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final HashMap<Porcupine.BuiltInKeyword,String> static final Stringstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddelete()Releases resources acquired by Porcupine.intGetter for number of audio samples per frame.intGetter for audio sample rate accepted by Picovoice.Getter for version.intprocess(short[] pcm) Processes a frame of the incoming audio stream and emits the detection result.
-
Field Details
-
LIBRARY_PATH
-
MODEL_PATH
-
BUILT_IN_KEYWORD_PATHS
-
-
Constructor Details
-
Porcupine
public Porcupine(String accessKey, String libraryPath, String modelPath, String[] keywordPaths, float[] sensitivities) throws PorcupineException Constructor.- Parameters:
accessKey- AccessKey obtained from Picovoice Console.libraryPath- Absolute path to the native Porcupine library.modelPath- Absolute path to the file containing model parameters.keywordPaths- Absolute paths to keyword model files.sensitivities- Sensitivities for detecting keywords. Each value should be a number within [0, 1]. A higher sensitivity results in fewer misses at the cost of increasing the false alarm rate.- Throws:
PorcupineException- if there is an error while initializing Porcupine.
-
-
Method Details
-
delete
public void delete()Releases resources acquired by Porcupine. -
process
Processes a frame of the incoming audio stream and emits the detection result.- Parameters:
pcm- A frame of audio samples. The number of samples per frame can be attained by callinggetFrameLength(). The incoming audio needs to have a sample rate equal togetSampleRate()and be 16-bit linearly-encoded. Porcupine operates on single-channel audio.- Returns:
- 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.
-
getVersion
Getter for version.- Returns:
- Version.
-
getFrameLength
public int getFrameLength()Getter for number of audio samples per frame.- Returns:
- Number of audio samples per frame.
-
getSampleRate
public int getSampleRate()Getter for audio sample rate accepted by Picovoice.- Returns:
- Audio sample rate accepted by Picovoice.
-