claw-voice-local
Local offline TTS → Telegram Voice Note
Convert any text to a Telegram voice message using piper TTS — fully offline, no cloud API required. Runs on Linux (including Raspberry Pi / ARM64).
When to use
- Send spoken responses instead of text messages
- Read out summaries, alerts, or reports
- Any task where audio feedback is more natural than text
Usage
python3 say.py "Your agent is ready."
python3 say.py "Good morning!" --chat-id 123456789
echo "Task complete." | python3 say.py
Configuration
Set these environment variables (or add to ~/.openclaw/.env):
| Variable | Required | Description |
|---|---|---|
TELEGRAM_BOT_TOKEN | Yes | Your Telegram bot token |
TELEGRAM_CHAT_ID | Optional | Default chat ID (can be passed as --chat-id) |
Environment Variables
TELEGRAM_BOT_TOKEN=required # Telegram bot token — get one from @BotFather
TELEGRAM_CHAT_ID=optional # Default target chat ID
Config File
This skill reads ~/.openclaw/.env as a fallback for credentials.
Ensure the file has restricted permissions: chmod 600 ~/.openclaw/.env
Installation
See README.md for step-by-step piper installation.
Files
| File | Description |
|---|---|
say.py | Main entry point: text → Telegram voice note |
speak.py | Core TTS: text → OGG Opus via piper + ffmpeg |
send_voice.py | Telegram sender: OGG → voice message (no dependencies) |
Requirements
- Python 3.11+
- piper binary (see README)
- ffmpeg
- A piper voice model (
.onnx) - Telegram bot token