SuperAPI AI 工具集

speech

智能体与模型

查看项目

更新于 10-22 21:59

技能介绍

Speech(iOS)是面向 Meta Wearables 平台的实验性设备端语音识别能力,目标是在已连接的眼镜上识别语音,并让 iOS 应用消费部分转录和最终转录结果。

用途与前提 该能力用于在应用内接入眼镜麦克风的语音识别流程。启用前需要在 Wearables Developer Center 为应用开启 Speech,并在运行时获取麦克风权限。权限请求应刻意进行:先用 checkPermissionStatus(.microphone) 静默检查,若未授予,仅在用户操作并说明将跳转 Meta AI 应用后调用 requestPermission(.microphone),并且只在结果为 .granted 时继续。

主要能力与集成方式 Speech 应在 DeviceSession 达到 .started 之后添加。代码示例为:

guard let speech = try session.addSpeech() else { return }

speech.transcriptionPublisher.listen { result in if result.isFinal { commitTranscript(result.text) } else { showPartialTranscript(result.text) } }.store(in: tokens)

speech.start()

注册监听器应发生在 start() 之前,以避免错过初始状态、语言、错误和转录事件。Speech 附加期间需保留监听令牌。应用如需生命周期、语言或失败更新,可观察 statePublisher、localePublisher 和 errorPublisher。转录结果的 confidence 介于 0 和 1 之间,不可用时为 -1;不应仅因 confidence 不可用而丢弃转录。

停止与移除 speech.stop() 会保持 Speech 附加状态,并允许再次调用 start()。在调用 session.removeSpeech() 前应取消监听令牌,移除操作是终态的。设备断开、无效状态、识别不可用、已在监听、启动失败和意外错误可通过 errorPublisher 处理。

测试方式 使用 MockDeviceKit 时,可在 Speech 进入监听后注入结果,例如 glasses.services.speech.simulateTranscription(text: "turn left", isFinal: true, confidence: 0.9)。该服务还可注入语言变化、部分文本、完成和识别错误。实时宿主设备 ASR 源用于手动 MockDevice 测试;真实眼镜识别使用眼镜麦克风。

适用场景与限制 该能力适合在开发与测试阶段验证眼镜语音识别、部分与最终转录展示、语言与错误处理等流程。其限制是当前为实验性功能,应用可用于开发和测试版,但尚不能发布到生产发布渠道。