核心功能
jarvis-voice 是一款为OpenClaw代理打造的离线语音合成技能,通过整合sherpa-onnx本地TTS引擎(Piper en_GB Alan语音模型)与ffmpeg音频处理链,赋予AI代理具有辨识度的"JARVIS式"声音特征。
技术实现
- 语音合成:基于sherpa-onnx的VITS模型,采用英国男性Alan音色,语速2倍加速(
--vits-length-scale=0.5),纯离线运行 - 音效处理:ffmpeg多阶段处理链——音高提升5%(紧缩感)、镶边效果(金属光泽)、15ms回声(机械共鸣)、高通200Hz+高音增强6dB(HUD清晰度)
- 输出方式:通过
aplay直接播放至默认音频设备,或使用jarvisshell命令在后台异步执行
使用模式
采用"混合输出"设计:先执行exec(command='jarvis "文本"', background=true)触发语音,再以**Jarvis:** *文本*格式输出可见转录。Webchat界面自动渲染为紫色斜体样式,非网页端保持粗体斜体兼容。
幽默人格集成
该技能并非单纯语音工具,而是与ai-humor-ultimate配套的认知架构组件。内置四种研究验证的喜剧模式:干冷机智(dry wit)、AI自我认知(self-aware AI)、外星观察者视角(alien observer)、习语字面拆解(literal idiom play),频率设为最大值。
显著优点
- 完全离线:无需网络连接,无云端API依赖,隐私数据零外传
- 确定性执行:
jarvis脚本参数固定,无动态命令注入风险 - 低延迟:本地TTS+后台播放,语音与文本几乎同步感知
- 高度可定制:ffmpeg效果链、语音模型、语速参数均可调整
- 生态整合:与OpenClaw工作区注入机制配合,通过VOICE.md/SESSION.md/HUMOR.md模板实现会话级自动激活
局限性与风险
- 英语唯一:Alan模型不支持多语言,非英语内容需先翻译
- Linux限定:依赖ALSA (
aplay),macOS/Windows需额外适配 - 环境依赖重:需预装sherpa-onnx运行时、ffmpeg、配置
SHERPA_ONNX_TTS_DIR环境变量 - 硬件耦合:默认使用
plughw:0,0设备,多声卡环境需手动调整 - 字符限制:单次语音≤1500字符,长文本需分段处理
- 无权限隔离:脚本以用户级权限运行,虽无提权设计但亦无沙箱保护
适合人群
- 构建本地化AI助手、追求《钢铁侠》JARVIS沉浸体验的技术爱好者
- 对语音隐私敏感、拒绝云端TTS服务的用户
- 已部署OpenClaw生态、希望扩展多模态交互的开发者
- 具备Linux系统管理基础、能独立排查音频子系统问题的用户
安全评估
该技能的安全设计偏向"确定性透明":命令固定、开源可审计、无网络行为。主要风险集中于供应链(从GitHub Releases下载模型包)和本地环境配置。建议用户在首次使用前审阅jarvis脚本内容,确认无恶意代码植入。