Rhino Speech-to-Intent
Java API
API Reference for the Java Rhino SDK (rhino-java)
package: ai.picovoice.rhino
Rhino
Class for the Rhino Speech-to-Intent engine.
Rhino
can be initialized using the Rhino.Builder
Class. Resources should be cleaned when you are done using the delete()
function.
Rhino.Rhino()
Rhino
constructor. See also the Rhino.Builder
Class.
Parameters
accessKey
String : AccessKey obtained from Picovoice Console.libraryPath
String : Absolute path to the native Rhino library.modelPath
String : Absolute path to the file containing model parameters.contextPath
String : Absolute path to file containing context parameters.sensitivity
float : Inference sensitivity. It should be a number within [0, 1]. A higher sensitivity value results in fewer misses at the cost of (potentially) increasing the erroneous inference rate.endpointDurationSec
float : Endpoint duration in seconds. An endpoint is a chunk of silence at the end of an utterance that marks the end of spoken command. It should be a positive number within [0.5, 5]. A lower endpoint duration reduces delay and improves responsiveness. A higher endpoint duration assures Rhino doesn't return inference pre-emptively in case the user pauses before finishing the request.requireEndpoint
boolean : If set totrue
, Rhino requires an endpoint (a chunk of silence) after the spoken command. If set tofalse
, Rhino tries to detect silence, but if it cannot, it still will provide inference regardless. Set tofalse
only if operating in an environment with overlapping speech (e.g. people talking in the background).
Returns
Rhino
: An instance of the Rhino Speech-to-Intent engine.
Throws
RhinoException
: If an error occurs while creating an instance of the Rhino Speech-to-Intent engine.
Rhino.delete()
Releases resources acquired by Rhino
.
Rhino.getFrameLength()
Getter for number of audio samples per frame.
Returns
int
: Number of audio samples per frame.
Rhino.getSampleRate()
Getter for audio sample rate accepted by Picovoice.
Returns
int
: Audio sample rate accepted by Picovoice.
Rhino.getVersion()
Getter for version.
Returns
String
: CurrentRhino
version.
Rhino.getContextInformation()
Getter for context information.
Returns
String
: Returns the context information.
Rhino.process()
Processes a frame of the incoming audio stream and emits a flag indicating if the inference is finalized. 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. Rhino operates on single-channel audio.
Parameters
pcm
short[] : A frame of audio samples.
Returns
boolean
: Flag indicating whether the engine has finalized intent extraction.
Throws
RhinoException
: If there is an error while processing the audio frame.
Rhino.reset()
Resets the internal state of Rhino. It should be called before the engine can be used to infer intent from a new stream of audio.
Throws
RhinoException
: If there is an error while resetting Rhino.
Rhino.getInference()
Gets inference result. 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
RhinoInference
: The result of inference.
Throws
RhinoException
: If inference retrieval fails.
Rhino.Builder
Builder for creating an instance of Rhino
with a mixture of default arguments.
Rhino.Builder.build()
Creates an instance of Rhino
Speech-to-Intent engine.
Returns
Rhino
: An instance of Rhino Speech-to-Intent engine.
Throws
RhinoException
: If an error occurs while creating an instance of Rhino Speech-to-Intent engine.
Rhino.Builder.setAccessKey()
Sets the AccessKey to the builder.
Parameters
accessKey
String : AccessKey obtained from Picovoice Console.
Returns
Rhino.Builder
: The instance of Rhino.Builder object.
Rhino.Builder.setContextPath()
Sets the context path to the builder.
Parameters
contextPath
String : Absolute path to the context file.
Returns
Rhino.Builder
: The instance of Rhino.Builder object.
Rhino.Builder.setLibraryPath()
Sets the library path to the builder. If not set it will be set to the default location.
Parameters
libraryPath
String : Absolute path to the file containing the Rhino library.
Returns
Rhino.Builder
: The instance of Rhino.Builder object.
Rhino.Builder.setModelPath()
Sets the model path to the builder. If not set it will be set to the default location.
Parameters
modelPath
String : Absolute path to the file containing model parameters.
Returns
Rhino.Builder
: The instance of Rhino.Builder object.
Rhino.Builder.setSensitivity()
Sets sensitivity to the builder. Value should be a number within [0, 1]. A higher sensitivity results in fewer misses at the cost of increasing the false alarm rate.
Parameters
sensitivity
float: Inference sensitivity.
Returns
Rhino.Builder
: The instance of Rhino.Builder object.
Rhino.Builder.setEndpointDuration()
Sets endpointDuration to the builder. An endpoint is a chunk of silence at the end of an utterance that marks the end of spoken command. It should be a positive number within [0.5, 5]. A lower endpoint duration reduces delay and improves responsiveness. A higher endpoint duration assures Rhino doesn't return inference pre-emptively in case the user pauses before finishing the request.
Parameters
endpointDuration
float: Endpoint duration in seconds.
Returns
Rhino.Builder
: The instance of Rhino.Builder object.
Rhino.Builder.setRequireEndpoint()
Sets requireEndpoint to the builder. If set to true
, Rhino requires an endpoint (a chunk of silence) after the spoken command.
If set to false
, Rhino tries to detect silence, but if it cannot, it still will provide inference regardless. Set
to false
only if operating in an environment with overlapping speech (e.g. people talking in the background).
Parameters
requireEndpoint
boolean: Indicates whether an endpoint is required for Rhino to finish inference.
Returns
Rhino.Builder
: The instance of Rhino.Builder object.
RhinoInference
Class to contain Rhino inference data.
RhinoInference.getIsUnderstood()
Getter for the isUnderstood
flag.
Returns
boolean
: Iftrue
,Rhino
understood the inference.
RhinoInference.getIntent()
Getter for the inference intent name.
Returns
String
: Inference intent name.
RhinoInference.getSlots()
Getter for the inference slots and values.
Returns
Map<String, String>
: Map for inference slots and values.
RhinoException
Exception thrown if an error occurs within the Rhino
engine.
Exceptions: