360 Secure SkillHub
360 安全技能中心

Announcer

调用 ElevenLabs 生成语音,经 macOS 上的 Airfoil 连接 AirPlay 音箱,可选播放提示音后播报文本,播完断开音箱。依赖 python3、ffmpeg、Airfoil 应用与 ELEVENLABS_API_KEY,播报文本需发送到 ElevenLabs 云端。

odrobnik
odrobnik
热度 91.59
最近更新 2026-05-11 15:53:33
分类:自动化依赖:代码执行 / 第三方 API / 读写文件应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add announcer
Metadata
name
announcer
description
Announce text throughout the house via AirPlay speakers using Airfoil + ElevenLabs TTS.
summary
House-wide TTS announcements via AirPlay speakers, Airfoil, and ElevenLabs.
version
1.2.3
homepage
https://github.com/odrobnik/announcer-skill
metadata
{"openclaw":{"emoji":"📢","requires":{"bins":["python3","ffmpeg"],"apps":["Airfoil"],"env":["ELEVENLABS_API_KEY"],"skills":["elevenlabs"],"platform":"macos"}}}

Announcer

Play TTS announcements through AirPlay speakers via Airfoil and ElevenLabs.

How It Works

  1. Generate speech via ElevenLabs (high-quality opus → stereo MP3)
  2. Connect to AirPlay speakers via Airfoil
  3. Play an optional chime (gong) followed by the announcement
  4. Disconnect speakers after playback

Setup

See SETUP.md for prerequisites and setup instructions.

Usage

# Announce to all configured speakers
python3 skills/announcer/scripts/announce.py "Dinner is ready!"

# Announce to specific speakers only
python3 skills/announcer/scripts/announce.py "Wake up!" --speakers "Kids Room"

# Skip the chime
python3 skills/announcer/scripts/announce.py "Quick note" --no-gong

File Structure

announcer/
├── SKILL.md
├── assets/
│   └── gong_stereo.mp3      # Announcement chime
└── scripts/
    └── announce.py           # Main announcement script

User config (not part of skill):

~/clawd/announcer/
└── config.json               # Speaker list, voice, audio settings