Package ai.picovoice.rhino
Class Rhino
- java.lang.Object
-
- ai.picovoice.rhino.Rhino
-
public class Rhino extends java.lang.ObjectAndroid binding for Rhino Speech-to-Intent engine. It directly infers the user's intent from spoken commands in real-time. Rhino processes incoming audio in consecutive frames and indicates if the inference is finalized. When finalized, the inferred intent can be retrieved as structured data in the form of an intent string and pairs of slots and values. 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. Rhino operates on single-channel audio.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRhino.BuilderBuilder for creating an instance of Rhino with a mixture of default arguments
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddelete()Releases resources acquired by Rhino.java.lang.StringgetContextInformation()Getter for context information.intgetFrameLength()Getter for number of audio samples per frame.RhinoInferencegetInference()Gets inference result from Rhino.intgetSampleRate()Getter for audio sample rate accepted by Picovoice.java.lang.StringgetVersion()Getter for version.booleanprocess(short[] pcm)Processes a frame of audio and emits a flag indicating if the inference is finalized.
-
-
-
Method Detail
-
delete
public void delete()
Releases resources acquired by Rhino.
-
process
public boolean process(short[] pcm) throws RhinoExceptionProcesses a frame of audio and emits a flag indicating if the inference is finalized. When finalized,getInference()should be called to retrieve the intent and slots, if the spoken command is considered valid.- 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. Furthermore, Rhino operates on single channel audio.- Returns:
- Flag indicating whether the engine has finalized intent extraction.
- Throws:
RhinoException- if there is an error while processing the audio frame.
-
getInference
public RhinoInference getInference() throws RhinoException
Gets inference result from Rhino. If the spoken command was understood, it includes the specific intent name that was inferred, and (if applicable) slot keys and specific slot values. Should only be called after the process function returns true, otherwise Rhino has not yet reached an inference conclusion.- Returns:
- The result of inference as a
RhinoInferenceobject. - Throws:
RhinoException- if inference retrieval fails.
-
getContextInformation
public java.lang.String getContextInformation()
Getter for context information.- Returns:
- Context information.
-
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.
-
getVersion
public java.lang.String getVersion()
Getter for version.- Returns:
- Version.
-
-