pi-voice-notify
Spoken voice summaries when your Pi agent finishes a response. Uses Kokoro TTS with configurable voices.
Package details
Install pi-voice-notify from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-voice-notify- Package
pi-voice-notify- Version
1.0.0- Published
- Jun 24, 2026
- Downloads
- 162/mo · 10/wk
- Author
- jeffscottward
- License
- MIT
- Types
- extension, skill
- Size
- 10.8 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./extensions/index.ts"
],
"skills": [
"./skills"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
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-notify
From GitHub
pi install https://github.com/jeffscottward/pi-voice-notify
Manual
git clone https://github.com/jeffscottward/pi-voice-notify.git
pi install ./pi-voice-notify
Usage
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