pi-voice-notify
v1.0.0
Published
Spoken voice summaries when your Pi agent finishes a response. Uses Kokoro TTS with configurable voices.
Maintainers
Readme
Pi Voice Notify
Spoken voice summaries when your Pi/OMP agent finishes a response. Uses Kokoro TTS via omp say with the BM George voice.
Features
- Automatic speech — After each agent response, speaks a brief summary aloud
- VOICE markers — End responses with
<!-- VOICE: summary -->for custom speech - Intelligent fallback — No marker? Extracts the first natural sentence automatically
- Sanitization — Strips URLs, paths, code blocks, hashes, base64 from spoken text
- Mute control — Say "quiet voice" to mute, "voice on" to unmute, or use
/voicecommand
Install
Using Pi
pi install npm:pi-voice-notifyFrom GitHub
pi install https://github.com/jeffscottward/pi-voice-notifyManual
git clone https://github.com/jeffscottward/pi-voice-notify.git
pi install ./pi-voice-notifyUsage
Once installed, the extension automatically speaks after each agent response.
Voice Markers
End your agent's response with a VOICE marker for custom speech:
<!-- VOICE: Fixed the authentication bug. -->If no marker is present, the first natural sentence is used as fallback.
Commands
| Command | Description |
|---------|-------------|
| /voice | Show current status |
| /voice on | Enable voice notifications |
| /voice off | Mute voice notifications |
| /voice <name> | Test a specific voice (e.g., /voice af_heart) |
Natural Language
- Say "quiet voice" or "mute voice" → mutes
- Say "voice on" or "unmute" → unmutes
How It Works
- The extension hooks the
agent_endevent in Pi - It walks the messages backward to find the last assistant message
- It extracts
<!-- VOICE: ... -->markers, or falls back to the first sentence - Non-speakable content is sanitized (URLs, paths, code, hashes)
- The text is passed to
omp saywhich uses Kokoro TTS with thebm_georgevoice
Requirements
- Pi or OMP (Oh My Pi) installed with Kokoro TTS support
omp saycommand available in PATH
Configuration
The default voice is bm_george. To change it, edit extensions/index.ts and replace bm_george with your preferred Kokoro voice (e.g., af_heart, am_michael, bf_emma).
License
MIT — see LICENSE
