pi-voice README

The project's README from github.com/earendil-works/pi-voice. As one markdown file: README.md.

pi-transcribe

Local speech-to-text dictation for Pi.

Install

Install directly from GitHub:

pi install ssh://[email protected]/earendil-works/pi-transcribe

After the first npm release, it can also be installed with:

pi install npm:@earendil-works/pi-transcribe

Usage

The extension registers:

To develop or run it from a checkout:

npm install --ignore-scripts
pi -e /absolute/path/to/pi-transcribe

While iterating on setup, enable the debug-only onboarding command when starting Pi:

PI_TRANSCRIBE_DEBUG=1 pi -e /absolute/path/to/pi-transcribe

Then run /transcribe-onboarding to replay the complete onboarding flow. The command is not registered unless PI_TRANSCRIBE_DEBUG=1. Canceling before selecting a model leaves the current configuration unchanged; model selections are applied immediately.

Press the shortcut while Pi has focus, speak, then press it again. A live level meter appears above the editor while recording. Esc cancels. Audio is transcribed locally and inserted at the editor cursor. Streaming-capable models process roughly 500 ms audio chunks while recording; other models use the complete recording after it stops. The shortcut is a Pi terminal binding, not a global OS hotkey.

File transcription and FFmpeg

The agent can call transcribe_file for local audio or video files. Transcription jobs share one loaded model; queued files reuse it, while microphone dictation runs before waiting file jobs after any active job finishes. To bound memory use, at most two file operations are admitted at once, only one FFmpeg decoder runs at a time, and decoded audio is limited to 128 MiB (about 35 minutes). File decoding requires the ffmpeg executable; microphone dictation does not. Install FFmpeg with your system package manager:

# macOS with Homebrew
brew install ffmpeg

# Debian or Ubuntu
sudo apt install ffmpeg

# Windows with winget
winget install Gyan.FFmpeg

If FFmpeg is installed outside PATH, point pi-transcribe at it before starting Pi:

export PI_TRANSCRIBE_FFMPEG_PATH=/path/to/ffmpeg

When FFmpeg is unavailable, transcribe_file reports platform-specific guidance to the agent. The agent should ask before running a package-manager command. Model setup is still explicit: run /transcribe once in the interactive TUI to choose and, after confirmation, download a local model.

pi-voice (earendil-works/pi-voice)

Searching Database…

Что это такое?Расширение распознавания речи для агента Pi: вы нажимаете горячую клавишу, говорите, и расшифровка вставляется в позицию курсора в вашем редакторе. Всё распознаётся локально, на вашем компьютере.
Это отдельное приложение или оно встраивается во что-то?Оно встраивается в Pi как расширение, а не отдельное приложение. Оно добавляет горячую клавишу записи, команду /transcribe для настроек и инструмент transcribefile, который агент может вызывать для локальных аудио- и видеофайлов.
Как его настроить?Установите его прямо с GitHub (релиз через npm планируется), затем один раз выполните /transcribe в интерактивном TUI Pi, чтобы выбрать модель и скачать её после вашего подтверждения.
Что нужно установить, кроме самого расширения?Node.js 22 или новее. FFmpeg нужен только для расшифровки аудио- и видеофайлов — диктовка с микрофона работает без него; если FFmpeg не лежит в PATH, вы можете указать путь к нему для pi-transcribe перед запуском Pi.
Могу ли я начать запись из любого приложения на моём компьютере?Нет — горячая клавиша работает только внутри терминала Pi, это не системный глобальный хоткей, поэтому запись начинается только когда Pi в фокусе.
Мой голос куда-то отправляется с компьютера?Нет: аудио расшифровывается локально моделью, которую вы скачали после подтверждения в TUI. Единственный сетевой шаг — то разовое скачивание модели.
Может ли агент сам расшифровывать аудиофайлы?Да, через свой инструмент transcribefile. Задачи используют одну загруженную модель, диктовка с микрофона имеет приоритет после завершения активной задачи, а одновременно выполняется не более двух задач по файлам с одним декодером FFmpeg и лимитом декодирования 128 МиБ (около 35 минут).
Все ли модели расшифровывают речь, пока вы ещё говорите?Нет — модели с поддержкой потоковой обработки обрабатывают фрагменты примерно по 500 мс во время записи, а остальные модели расшифровывают всю запись целиком только после того, как вы остановитесь.
Если что-то пошло не так, можно ли пройти настройку заново?Да, но это только для отладки: запустите Pi с PITRANSCRIBEDEBUG=1 и выполните /transcribe-onboarding. Отмена до выбора модели оставляет текущую конфигурацию без изменений.
Size
1.5 MB
Stars
301
Updated
CommitOct 16
Age
2mo
Commits · 90 Days