pi-voice-notify

Spoken voice summaries when your Pi agent finishes a response. Uses Kokoro TTS with configurable voices.

Packages

Package details

extensionskill

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 /voice command

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

  1. The extension hooks the agent_end event in Pi
  2. It walks the messages backward to find the last assistant message
  3. It extracts <!-- VOICE: ... --> markers, or falls back to the first sentence
  4. Non-speakable content is sanitized (URLs, paths, code, hashes)
  5. The text is passed to omp say which uses Kokoro TTS with the bm_george voice

Requirements

  • Pi or OMP (Oh My Pi) installed with Kokoro TTS support
  • omp say command 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