贾维斯离线语音
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-jarvis-voice。
技能介绍
要解决什么问题
OpenClaw 里若只用内置 tts(Edge TTS),你会得到微软云端音色,没有 JARVIS 那种英式、带金属 HUD 质感的听感;若在回复里手写 **Jarvis:** 再另开 TTS,还容易出现「屏幕上说的」和「扬声器播的」不一致。WhatsApp、cron、子 agent 等通道也不该和用户家里的 Tinker 主会话抢同一条语音链路。
技能如何工作
核心是一条 jarvis shell 命令(~/.local/bin/jarvis),一次调用完成两件事:
- 通过
chat.inject在 Webchat 里插入紫色**Jarvis:** *…*气泡 - 用 sherpa-onnx 离线合成(英式 Alan,
en_GB-alan-medium,约 2× 语速),再经 ffmpeg 做 pitch、flanger、短 echo、高通与 treble,最后用 aplay 播放
通道由 $TC_SESSION_KEY(agent::: 格式)自动判断:仅在 tinker 主会话同时发声与发气泡;可用 ~/.openclaw/data/jarvis-muted.json 静音但仍保留气泡,或用 TC_VOICE_CHANNEL 覆盖允许通道。幽默语气需配合工作区里的 VOICE.md / SESSION.md / HUMOR.md(四类喜剧模式与 LIMBIC 思路),与 ai-humor-ultimate 等同属 TinkerClaw 认知栈的一部分。
适用边界与注意点
- spoken 文本 仅英文,Alan 模型无法干净读其它语言;超长会被 sherpa-onnx 截断(建议 ≤1500 字符)
- 对 agent:
exec应background: true,勿阻塞等播完;每轮只调一次jarvis,勿手写 Jarvis 行以免重复气泡 - 纯工具操作、
HEARTBEAT_OK、NO_REPLY等无对话场景不必出声;WhatsApp 需 OGG/Opus 语音条而非本机扬声器(见技能内 WhatsApp 说明)
使用场景
- 在 Tinker 主会话里向用户口头汇报任务结果,同时让 Webchat 出现与播报一致的紫色 Jarvis 气泡
- 新会话启动时按 SESSION.md 用英式 Alan 音色做简短语音问候,并避免 WhatsApp 通道误触发扬声器
- 用户上一条消息明确提到语音或听回复时,用一条 jarvis 命令完成 TTS 与 chat.inject,不再手写 Jarvis 行
- 搭建 TinkerClaw 认知栈时,把 VOICE.md、HUMOR.md 与 jarvis 脚本配齐,让主会话回复带 JARVIS 式干幽默
适合人员
- 在本地跑 OpenClaw、主交互固定在 Tinker UI 通道、需要离线英式音色而非 Edge TTS 的集成者
- 维护 TinkerClaw 多技能架构、希望语音与紫色 Jarvis transcript 始终同源、避免 prompt 双写的仓库维护者
- 家庭或实验室场景里用 aplay 外放 agent 回复、又要用 jarvis-muted.json 临时静音但保留气泡的部署者
- 做 WhatsApp 等多通道 agent、需区分 tinker 扬声器播报与 OGG/Opus 语音条输出格式的适配工程师