---
title: "SpeakListener"
sidebar_label: "SpeakListener"
description: "Kotlin binding reference: SpeakListener."
---

<!-- Generated by tools/api_reference/generate_api_docs.py. Do not edit. -->

//[clika-runtime](../../../index.md)/[io.clika.modelverse](../index.md)/[SpeakListener](index.md)

# SpeakListener

[common]\
interface [SpeakListener](index.md)

The outcome of one synthesis. The calls arrive on the model's own worker thread: [onClip](onClip.md) with the utterance, then exactly one of [onDone](onDone.md) or [onError](onError.md). This release of the model library answers the whole utterance in one call, so [onClip](onClip.md) is called once; a library that produces the audio in chunks calls it once per chunk, in order, on the same listener.

## Functions

| Name | Summary |
|---|---|
| [onClip](onClip.md) | [common]<br>abstract fun [onClip](onClip.md)(clip: [SpeechClip](../SpeechClip/index.md))<br>Synthesized audio, ready to play or save. |
| [onDone](onDone.md) | [common]<br>abstract fun [onDone](onDone.md)(report: [SpeakReport](../SpeakReport/index.md))<br>The synthesis ended; [report](onDone.md) says what it cost. |
| [onError](onError.md) | [common]<br>abstract fun [onError](onError.md)(message: [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html))<br>The synthesis failed, or was refused before the model ran; nothing follows. |