Rhino Speech-to-Intent
Node.js API
API Reference for the Node.js Rhino SDK(npmjs) .
Rhino
Class for the Rhino Speech-To-Intent engine. Rhino can be initialized using the
class constructor(). Resources should be cleaned when you are done using
the release() method.
Rhino.constructor()
constructor method for the Rhino Speech-To-Intent engine.
Parameters
accessKeystring : AccessKey obtained from Picovoice Console.contextPathstring : The path to the Rhino context file (.rhn).sensitivitynumber : The sensitivity in the range [0,1], a higher sensitivity results in fewer misses at the cost of increasing the false alarm rate.endpointDurationSecnumber : 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.requireEndpointboolean : 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 tofalseonly if operating in an environment with overlapping speech (e.g. people talking in the background). Default value istrue.manualModelPathstring : The path to the Rhino model (.pv).manualLibraryPathstring : The path to the Rhino dynamic library.
Returns
Rhino: An instance of Rhino Speech-To-Intent engine.
Rhino.frameLength
The number of audio samples per frame that Rhino accepts.
Rhino.sampleRate
The audio sample rate the Rhino accepts.
Rhino.process()
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. Rhino operates on single-channel audio.
Parameters
frameArray<number> : A frame of audio samples.
Returns
boolean:truewhen Rhino has concluded processing audio and determined the intent (or that the intent was not understood),falseotherwise.
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.
Rhino.getInference()
Gets inference results from Rhino. If the phrase 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
Object: Inference information (isUnderstood, intent, slots).
Rhino.release()
Releases resources acquired by Rhino