Picovoice Wordmark
Start Building
Introduction
Introduction
AndroidC.NETiOSLinuxmacOSNode.jsPythonRaspberry PiWebWindows
AndroidC.NETiOSNode.jsPythonWeb
SummaryPicovoice picoLLMGPTQ
Introduction
AndroidC.NETFlutteriOSJavaLinuxmacOSNode.jsPythonRaspberry PiReactReact NativeRustWebWindows
AndroidC.NETFlutteriOSJavaNode.jsPythonReactReact NativeRustWeb
SummaryPicovoice LeopardAmazon TranscribeAzure Speech-to-TextGoogle ASRGoogle ASR (Enhanced)IBM Watson Speech-to-TextWhisper Speech-to-Text
FAQ
Introduction
AndroidC.NETFlutteriOSJavaLinuxmacOSNode.jsPythonRaspberry PiReactReact NativeRustWebWindows
AndroidC.NETFlutteriOSJavaNode.jsPythonReactReact NativeRustWeb
SummaryPicovoice Cheetah
FAQ
Introduction
AndroidC.NETiOSLinuxmacOSNode.jsPythonRaspberry PiWebWindows
AndroidC.NETiOSNode.jsPythonWeb
SummaryAmazon PollyAzure TTSElevenLabsOpenAI TTSPicovoice Orca
Introduction
AndroidCiOSLinuxmacOSPythonRaspberry PiWebWindows
AndroidCiOSPythonWeb
SummaryPicovoice KoalaMozilla RNNoise
Introduction
AndroidCiOSLinuxmacOSNode.jsPythonRaspberry PiWebWindows
AndroidCNode.jsPythoniOSWeb
SummaryPicovoice EaglepyannoteSpeechBrainWeSpeaker
Introduction
AndroidCiOSLinuxmacOSPythonRaspberry PiWebWindows
AndroidCiOSPythonWeb
SummaryPicovoice FalconAmazon TranscribeAzure Speech-to-TextGoogle Speech-to-Textpyannote
Introduction
AndroidArduinoCChrome.NETEdgeFirefoxFlutteriOSJavaLinuxmacOSMicrocontrollerNode.jsPythonRaspberry PiReactReact NativeRustSafariUnityWebWindows
AndroidC.NETFlutteriOSJavaMicrocontrollerNode.jsPythonReactReact NativeRustUnityWeb
SummaryPorcupineSnowboyPocketSphinx
Wake Word TipsFAQ
Introduction
AndroidCChrome.NETEdgeFirefoxFlutteriOSJavaLinuxmacOSNode.jsPythonRaspberry PiReactReact NativeRustSafariUnityWebWindows
AndroidC.NETFlutteriOSJavaNode.jsPythonReactReact NativeRustUnityWeb
SummaryPicovoice RhinoGoogle DialogflowAmazon LexIBM WatsonMicrosoft LUIS
Expression SyntaxFAQ
Introduction
AndroidC.NETiOSLinuxmacOSNode.jsPythonRaspberry PiRustWebWindows
AndroidC.NETiOSNode.jsPythonRustWeb
SummaryPicovoice CobraWebRTC VAD
FAQ
Introduction
AndroidC.NETFlutteriOSNode.jsPythonReact NativeRustUnityWeb
AndroidC.NETFlutteriOSNode.jsPythonReact NativeRustUnityWeb
Introduction
C.NETNode.jsPython
C.NETNode.jsPython
FAQGlossary

Eagle Speaker Recognition
iOS API

API Reference for the Eagle iOS SDK (Cocoapods)


EagleProfiler

public class EagleProfiler: EagleBase { }

Profiler class for the Eagle speaker recognition engine.


EagleProfiler.init()

public init(accessKey: String, modelPath:String? = nil) throws -> EagleProfiler

Constructor for the EagleProfiler class

Parameters

  • accessKey String : The AccessKey obtained from Picovoice Console.
  • modelPath String? : Absolute path to file containing model parameters (.pv).

Throws

  • EagleError: If an error occurs while creating an instance of EagleProfiler.

EagleProfiler.delete()

public func delete()

Releases resources acquired by EagleProfiler.


EagleProfiler.enroll()

public func enroll(pcm: [Int16]) throws -> (Float, EagleProfilerEnrollFeedback)

Enrolls a speaker.

Parameters

  • pcm [Int16] : An array of audio samples. The audio needs to have a sample rate equal to .sampleRate and be single-channel, 16-bit linearly-encoded. In addition it must be at least minEnrollSamples() samples long.

Returns

  • (Float, EagleProfilerEnrollFeedback) : A tuple containing a the percentage of enrollment completed and an EagleProfilerEnrollFeedback enum representing the feedback code.

Throws

  • EagleError : If an error occurs while processing the pcm array.

EagleProfiler.export()

public func export() throws -> EagleProfile

Exports the speaker profile. The exported profile can be used in Eagle or stored for later use.

Returns

  • EagleProfile : An EagleProfile object.

Throws

  • EagleError : If an error occurs while exporting the speaker profile.

EagleProfiler.reset()

public func reset() throws

Resets EagleProfiler and removes all enrollment data. It must be called before enrolling a new speaker.

Throws

  • EagleError : If an error occurs while exporting the speaker profile.

EagleProfiler.minEnrollSamples()

public func minEnrollSamples() throws -> Int

Getter for the minimum length of the input pcm required by enroll().

Returns

  • Int : Minimum number of samples required for a call to enroll().

Throws

  • EagleError : If an error occurs.

EagleProfiler.sampleRate

public static let sampleRate: Int

The audio sample rate that EagleProfiler accepts.


EagleProfiler.version

public static let version: String

EagleProfiler version string.


EagleProfile

public class EagleProfile { }

The class representing a speaker profile after enrollment by EagleProfiler. Returned by EagleProfiler.export().


EagleProfile.init()

public init(profileBytes: [UInt8])

Constructor.

Parameters

  • profileBytes [UInt8] : A byte array that was previously obtained via getBytes().

EagleProfile.getBytes()

public func getBytes() -> [UInt8]

Gets a binary representation of the profile.

Returns

  • [UInt8] : A byte array of the profile.

EagleProfilerEnrollFeedback

public enum EagleProfilerEnrollFeedback { }

A enum representing the enrollment feedback.

case AUDIO_OK
case AUDIO_TOO_SHORT
case UNKNOWN_SPEAKER
case NO_VOICE_FOUND
case QUALITY_ISSUE

Eagle

public class Eagle: EagleBase { }

Recognizer class for the Eagle speaker recognition engine.


Eagle.init()

Constructors for the Eagle class

public init(accessKey: String, speakerProfiles: [EagleProfile], modelPath:String? = nil) throws

Parameters

  • accessKey String : The AccessKey obtained from Picovoice Console.
  • speakerProfiles [EagleProfile] : An array of EagleProfile objects obtained from EagleProfiler.
  • modelPath String? : Absolute path to file containing model parameters (.pv).

Throws

  • EagleError: If an error occurs while creating an instance of Eagle.
public convenience init(accessKey: String, speakerProfile: EagleProfile, modelPath:String? = nil) throws

Parameters

  • accessKey String : The AccessKey obtained from Picovoice Console.
  • speakerProfile EagleProfile : An EagleProfile object obtained from EagleProfiler.
  • modelPath String? : Absolute path to file containing model parameters (.pv).

Throws

  • EagleError: If an error occurs while creating an instance of Eagle.

Eagle.delete()

public func delete()

Releases resources acquired by Eagle.


Eagle.process()

public func enroll(pcm: [Int16]) throws -> [Float]

Processes given audio data and returns speaker likelihood scores.

Parameters

  • pcm [Int16] : An array of audio samples. The audio needs to have a sample rate equal to .sampleRate and be single-channel, 16-bit linearly-encoded. In addition it must be exactly .frameLength samples long.

Returns

  • [Float] : Similarity scores for each enrolled speaker. The scores are in the range [0, 1] with 1 being a perfect match.

Throws

  • EagleError : If an error occurs while processing the pcm array.

Eagle.reset()

public func reset() throws

Resets the internal state of the Eagle engine. It is best to call before processing a new sequence of audio (e.g. a new voice interaction). This ensures that the accuracy of the engine is not affected by a change in audio context.

Throws

  • EagleError : If an error occurs while resetting.

Eagle.frameLength

public static let frameLength: Int

The audio frame length in PCM samples that Eagle accepts.


Eagle.sampleRate

public static let sampleRate: Int

The audio sample rate that Eagle accepts.


Eagle.version

public static let version: String

Eagle version string.


EagleError

public enum EagleError: Error { }

Error type thrown by the Eagle iOS SDK.

case EagleOutOfMemoryError(_ message:String)
case EagleIOError(_ message:String)
case EagleInvalidArgumentError(_ message:String)
case EagleStopIterationError(_ message:String)
case EagleKeyError(_ message:String)
case EagleInvalidStateError(_ message:String)
case EagleRuntimeError(_ message:String)
case EagleActivationError(_ message:String)
case EagleActivationLimitError(_ message:String)
case EagleActivationThrottledError(_ message:String)
case EagleActivationRefusedError(_ message:String)
case EagleInternalError(_ message:String)

Was this doc helpful?

Issue with this doc?

Report a GitHub Issue
Eagle Speaker Recognition iOS API
  • EagleProfiler
  • init()
  • delete()
  • enroll()
  • export()
  • reset()
  • minEnrollSamples()
  • sampleRate
  • version
  • EagleProfile
  • init()
  • getBytes()
  • EagleProfilerEnrollFeedback
  • Eagle
  • init()
  • delete()
  • process()
  • reset()
  • frameLength
  • sampleRate
  • version
  • EagleError
Voice AI
  • Leopard Speech-to-Text
  • Cheetah Streaming Speech-to-Text
  • Orca Text-to-Speech
  • Koala Noise Suppression
  • Eagle Speaker Recognition
  • Falcon Speaker Diarization
  • Porcupine Wake Word
  • Rhino Speech-to-Intent
  • Cobra Voice Activity Detection
Local LLM
  • picoLLM Inference
  • picoLLM Compression
  • picoLLM GYM
Resources
  • Docs
  • Console
  • Blog
  • Use Cases
  • Playground
Sales & Services
  • Consulting
  • Foundation Plan
  • Enterprise Plan
  • Enterprise Support
Company
  • About us
  • Careers
Follow Picovoice
  • LinkedIn
  • GitHub
  • X
  • YouTube
  • AngelList
Subscribe to our newsletter
Terms of Use
Privacy Policy
© 2019-2025 Picovoice Inc.