javaRhino — Java Quick Start

Platforms

  • Linux (x86_64)
  • macOS (x86_64, arm64)
  • Windows (x86_64)
  • BeagleBone
  • NVIDIA Jetson Nano
  • Raspberry Pi (2, 3, 4)

Requirements

Picovoice Account & AccessKey

Signup or Login to Picovoice Console to get your AccessKey. Make sure to keep your AccessKey secret.

Quick Start

Setup

  1. Install JDK 11+.

  2. Install the Java binding from the Maven Central Repository at:

ai.picovoice:rhino-java:${version}

Usage

Create an instance of Rhino that infers intent from spoken commands within a given context:

import ai.picovoice.rhino.*;
Rhino rhino = new Rhino.Builder()
.setAccessKey("${ACCESS_KEY}")
.setContextPath("${CONTEXT_FILE_PATH}")
.build();

Pass in frames of audio to the .process function:

short[] getNextAudioFrame() {
// ...
return audioFrame;
}
while(true) {
boolean isFinalized = rhino.process(getNextAudioFrame());
if(isFinalized){
RhinoInference inference = rhino.getInference();
if(inference.getIsUnderstood()){
String intent = inference.getIntent();
Map<string, string> slots = inference.getSlots();
// .. Use intent and slot values
}
}
}

Release resources explicitly when done with Rhino:

rhino.delete();

Custom Contexts

Create custom contexts on Picovoice Console using the Rhino Grammar. Download the custom context file (.rhn) and create an instance of Rhino using the .setContextPath build method.

Non-English Languages

Use the corresponding model file (.pv) to detect non-English contexts. The model files for all supported languages are available on the Rhino GitHub repository.

Pass in the model file using the setModelPath build method to change the detection language:

Rhino rhino = new Rhino.Builder()
.setAccessKey("${ACCESS_KEY}")
.setContextPath("${CONTEXT_FILE_PATH}")
.setModelPath("${MODEL_FILE_PATH}")
.build();

Demo

For the Rhino Java SDK, we offer demo applications that demonstrate how to use the Speech-to-Intent engine on real-time audio streams (i.e. microphone input) and audio files.

Setup

  1. Clone the Rhino repository from GitHub:
git clone --recurse-submodules https://github.com/Picovoice/rhino.git
  1. Build the Rhino Java demo using Gradle:
cd rhino/demo/java
./gradlew build

Usage

To see the usage options for the demos, use the -h flag:

java -jar build/libs/rhino-mic-demo.jar -h

Ensure you have a working microphone connected to your system and run the following command to make inferences based on the given context file:

java -jar build/libs/rhino-mic-demo.jar -a ${ACCESS_KEY} -c ${CONTEXT_FILE_PATH}

For more information on our Rhino demos for Java, head over to our GitHub repository.

Resources

Packages

API

GitHub

Benchmark

Further Reading

Videos


Issue with this doc? Please let us know.