talk-pi
Pi extension for local tools voice capture, Whisper transcription, and Piper TTS playback
Package details
Install talk-pi from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:talk-pi- Package
talk-pi- Version
1.0.16- Published
- Jun 3, 2026
- Downloads
- 2,264/mo · 82/wk
- Author
- castelloes
- License
- MIT
- Types
- extension
- Size
- 89.4 KB
- Dependencies
- 3 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./talk-pi.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
talk-pi
Talk-Pi is Pi extension for local voice capture, Whisper transcription, and Piper TTS playback.
What it does
/talk-piopens unified voice menu- push-to-talk records audio and sends it to Whisper
- replies are spoken with Piper
- voice model and output language can be selected between English and Portuguese
- Voice Language and mute state are saved and restored on the next open
- downloads show
Talk-pi: Downloading 📥
Install
pi install npm:talk-pi
pi install brings Talk-Pi package plus bundled tools. At runtime, Talk-Pi prefers ~/.pi/agent/extensions/talk-pi when ~/.pi exists, otherwise it creates/uses local ./tools, so no PATH setup is needed.
Requirements
- Node.js 24+
~/.pi/agent/extensions/talk-piwhen a user-scoped.pifolder exists, otherwise local./tools./tools/piper/piperor./tools/piper/piper.exe- voice capture uses bundled microphone support
- Piper voice model under
./tools/piper/models/ - Whisper model under
./tools/whisper/models/
Talk-Pi prefers ~/.pi/agent/extensions/talk-pi when available and falls back to local ./tools for fresh installs.
Setup & Configuration
- Copy
.env.exampleto.env. - Run
pi install npm:talk-pito bring bundled tools automatically. - If
~/.piexists, keep user-scoped tools under~/.pi/agent/extensions/talk-pi. - If
~/.pidoes not exist, Talk-Pi creates and uses local./toolsin the install folder. - Adjust
TALK_PI_TOOLS_DIRonly if the localtools/folder lives somewhere else.
| Variable | Default / Note |
|---|---|
TALK_PI_SEND_TRANSCRIPT_KEY |
F9 |
TALK_PI_INSERT_TRANSCRIPT_KEY |
F10 |
TALK_PI_TOOLS_DIR |
./tools (override) |
TALK_PI_PIPER_BIN |
./tools/piper/piper |
TALK_PI_PIPER_MODEL_PATH |
./tools/piper/models/pt_BR-faber-medium.onnx |
TALK_PI_TTS_OUTPUT_DIR |
~/.pi/agent/extensions/talk-pi/tts |
TALK_PI_WHISPER_MODEL_PATH |
./tools/whisper/models/ggml-base.bin |
TALK_PI_WHISPER_MODEL_URL |
https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin |
TALK_PI_TRANSCRIBE_TIMEOUT_MS |
60000 |
TALK_PI_TRANSCRIBE_FIRST_TIMEOUT_MS |
600000 |
Usage
- Open
/talk-pi. - Choose push-to-talk.
- Record speech.
- Wait for Whisper transcription.
- Listen to Piper reply, or send/insert transcript as needed.
Platform notes
- Windows, Linux, and macOS use same setup.
- Unzip Piper into
~/.pi/agent/extensions/talk-pi/piperwhen using a user-scoped.pifolder, or./tools/piperfor a local install. - No separate recorder install needed.
- Put voice and Whisper models under
~/.pi/agent/extensions/talk-pi/piper/modelsor./tools/piper/models, and the Whisper model under the matchingwhisper/modelsfolder. TALK_PI_TOOLS_DIRis only needed if the tools folder lives elsewhere.
Publish
npm publish --access public