"Max, Zeit fürs Quiz!" — Voice Announcements

WhatsApp notifications are easy to ignore. You know the drill — the phone buzzes, the kid glances at it, and goes right back to whatever they were doing. "I didn't see it" is the eternal excuse.

But a voice booming through the room? That's harder to miss.

The Setup

ClawTutor can now speak through a Bluetooth speaker connected to the Raspberry Pi. The setup is surprisingly simple:

  1. Pair a Bluetooth speaker with the Pi
  2. Install Google TTS (pip install gtts)
  3. Run the announce script
./scripts/announce.sh "Max, Zeit fürs Mathe-Quiz!"

That's it. The Pi generates speech via Google's text-to-speech API and plays it through the Bluetooth speaker.

Use Cases

🔔 Quiz Reminders

Schedule a daily announcement at 4 PM: "Time for your math quiz!" Much more effective than a silent notification.

⏰ Screen Time Warnings

"5 minutes of TV time remaining!" — gives kids a chance to wrap up instead of an abrupt cutoff.

🎉 Celebrations

"Congratulations! You've completed a 7-day streak!" — positive reinforcement hits different when it's spoken aloud.

📢 General Announcements

"Dinner is ready!" — okay, that's not tutoring-related, but once you have voice announcements, you'll find uses for them.

The Limitation

There's one obvious constraint: the speaker must be in Bluetooth range of the Pi (~10 meters). This works great if:

For multi-room announcements, you'd need either multiple Pis or a different approach entirely (like network speakers or — if Apple ever opens up — AirPlay).

💡 Why not HomePods?

Apple's HomePods would be perfect for this — they're already in every room. But Apple keeps AirPlay 2 locked down tight. There's no official way to send arbitrary audio from a Linux device to a HomePod. Matter doesn't help either; it's for smart home control, not audio streaming.

The Bluetooth speaker is the pragmatic solution that actually works.

Voice Quality

Google TTS is... fine. It's clearly robotic, but perfectly understandable. For announcements, you don't need a Hollywood voice actor — you need clarity.

If you want better voices, the script can be adapted for:

Installation

The full addon with setup instructions is on GitHub: addons/voice-announcements.

Pairing the speaker is the only tricky part, and even that's just a few bluetoothctl commands. Once paired, the speaker auto-connects when the Pi boots.

What's Next

I'm considering adding voice output directly to the tutor agents — imagine Matteo actually speaking the quiz questions. That would require some thought about UX (do kids want a voice in their ear while doing homework?) but it's technically possible.

For now, announcements are the sweet spot: low-friction, high-impact, and genuinely useful.

← Back to Blog