iosRhino - iOS API

  • Speech-to-Intent Engine
  • Domain Specific NLU
  • Offline NLU
  • Local Voice Recognition
  • iOS
  • Swift
  • C

This document outlines how to integrate Rhino Speech-to-Intent engine within an iOS application.


Rhino is implemented in ANSI C and is shipped as a precompiled library accompanied by corresponding header file. To integrate within an iOS application the following items are needed

  • Precompiled library
  • Header file
  • The model file. The standard model is freely available on Rhino's GitHub repository. Enterprises who are commercially engaged with Picovoice can access compressed and standard models as well.
  • Context model file for your use case. A set of freely-available context files can be found on Rhino's GitHub repository. Enterprises who are engaged with Picovoice can create custom NLU models using Picovoice Console.


The RhinoManager class manages all activities related to creating an input audio stream feeding it into Rhino's library, and invoking a user-provided detection callback. The class can be initialized as below

let modelFilePath: String = ...
let contextFilePath: String = ...
let onInferenceCallback: ((Inference) -> Void) = {
// detection event callback
let manager = RhinoManager(
modelPath: modelFilePath,
contextPath: contextFilePath,
sensitivity: 0.5,
onInferenceCallback: onInferenceCallback);

when initialized, input audio can be processed using manager.process().

Issue with this doc? Please let us know.