Reference
Arcane.speech.status()
Reads bounded, independent Kokoro and Whisper readiness through Core or an admitted Android native host. Requires ai.inference.
This focused page is derived from the mechanically checked full member inventory.
Syntax
Arcane.speech.status()
Parameters
None
Return value
Description
Reads bounded, independent Kokoro and Whisper readiness through Core or an admitted Android native host. Requires ai.inference.
Overview
Arcane.speech.status() directly checks the fixed local speech service. Use it
when UI needs current synthesis and transcription readiness. Unlike
localAI.status(), this direct call rejects when the host cannot reach and
validate the speech health response.
Parameters
The method takes no arguments.
Return value
It resolves to {ready, synthesisAvailable, transcriptionAvailable, status, ttsEngine, sttEngine}. ready is true only when both roles are ready; use the
role-specific booleans when UI needs only synthesis or transcription.
Availability
The method requires ai.inference and a fixed host-owned local speech service.
It is available on desktop Core and, through the current Android projection, to
explicitly admitted application identities. Browser previews cannot reach it.
Errors and recovery
LOCAL_SPEECH_UNAVAILABLE, request-failed, invalid-response, or
response-too-large errors mean the direct health contract was not proven.
Offer the admitted managed recovery journey where available; do not probe or
start arbitrary loopback services from renderer code.
Streaming, cancellation, and events
This is a non-streaming health read with no method event. The wrapper timeout is 10 seconds and no per-call signal is exposed. Core does not cooperatively cancel this method; Android also does not expose speech cancellation.
Example
const status = await globalThis.Arcane.speech.status();
console.info({
synthesis: status.synthesisAvailable,
transcription: status.transcriptionAvailable
});