TranscriptionResult:| Field | Type | Meaning |
|---|---|---|
text | String | The recognized text, either partial or final. |
isFinal | Boolean | true when no further updates will arrive for the current utterance. |
confidence | Float | Confidence in the inclusive range [0.0, 1.0], or -1.0 if unavailable. |
isFinal is true, and treat a confidence of -1.0 as “no score reported” rather than as low confidence.Use https://wearables.developer.meta.com/docs/develop/dat/speech/, then use the Wearables MCP endpoint https://mcp.developer.meta.com/wearables to call search_dat_docs for current Device Access Toolkit Speech guidance. Inspect my session code first, then add the smallest change that attaches Speech to a started device session, requests the microphone permission before starting, and handles partial versus final transcriptions. Handle every SpeechState and SpeechError value, do not assume audio is available to the app, and run the relevant local checks.
STARTED state.MICROPHONE device permission, granted by the wearer.MICROPHONE through the Meta AI app flow described in Permissions and registration before calling start().SpeechState because the capability can stop after inactivity, a timeout, or another performance constraint. Observe SpeechError separately to distinguish failures from a normal stop.SpeechError. Handle every value, and observe SpeechState as well: the capability can also stop without an error, for example after a period of inactivity or a timeout.[libraries]
mwdat-core = { group = "com.meta.wearable", name = "mwdat-core", version.ref = "mwdat" }
mwdat-speech = { group = "com.meta.wearable", name = "mwdat-speech", version.ref = "mwdat" }
dependencies {
implementation(libs.mwdat.core)
implementation(libs.mwdat.speech)
}
MockGlasses.services.speech. See Android testing for how to create a mock device.MWDATSpeech module.import MWDATCore import MWDATSpeech
MockGlasses.services.speech. See iOS testing for how to create a mock device.