HE

hexicgrind/elosttpassive

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

0 stars 0 forks Качество 81 Тренд 14MIT

Global push-to-talk speech-to-text for Windows 11. Hold a key, speak, release, and the transcript is typed into whatever has focus, including fullscreen games.

Обзор

Hold to talk (works while the app is minimized or unfocused). On release, audio is sent to Fish Audio STT, then typed into whichever window has focus—including fullscreen games. Optionally run as an so Claude Desktop, Claude Code, OpenClaw, and similar tools can read your STT history. - Windows 11 (designed for; other Windows versions may work) - Python - A Fish Audio API key 1. Press , search for , open . 2. → under → 3. Name: FISH_AUDIO_API_KEY Value: your key from https://fish.audio/app/api-keys 4. OK out of all dialogs. the terminal (and this app) so the variable is visible. Session-only (PowerShell, not permanent): , Windows hides keyboard state from other programs. If Right Ctrl does nothing while the game is focused, start elevated (optional): Edit config.ini in this folder and save. Most settings — including — apply immediately; you do not need to restart the program. A fully commented template is in config.example.ini.

README

Показан фрагмент оригинального README. Открыть оригинал.

Elo STT Passive v1.0

Global push-to-talk speech-to-text for Windows 11.

Hold Right Ctrl to talk (works while the app is minimized or unfocused). On release, audio is sent to Fish Audio STT, then typed into whichever window has focus—including fullscreen games. Optionally run as an MCP server so Claude Desktop, Claude Code, OpenClaw, and similar tools can read your STT history.

Features

Feature Details
Global hotkey Right Ctrl hold-to-talk; Right Shift cancels
Rolling buffer Configurable pre/post roll (default 0.5 s) so words are not clipped
Speech gate Skips the API when only ambient noise is present (distinct soft cue)
Audio prep Normalizes quiet speech, then boosts all speech (~+30% default, dB-aware)
Game-friendly typing SendInput Unicode key-down / key-up with configurable delay & hold
Parallel jobs Start a new hold while a previous clip is still processing
Soft cues Distinct low-volume sounds for error, cancel, and no-speech
API key safety Reads FISH_AUDIO_API_KEY from the environment only — never saved to disk
MCP Query recent results, time windows, ranges, search; timestamps on hold start/end
Config All knobs in config.ini next to the program

Requirements

  • Windows 11 (designed for; other Windows versions may work)
  • Python 3.10+
  • A Fish Audio API key

Install

cd "C:\Projects\Elo STT Passive\repo"
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

Set the API key (Windows 11)

  1. Press Win, search for environment variables, open Edit the system environment variables.
  2. Environment Variables… → under User variables → New…
  3. Name: FISH_AUDIO_API_KEY
    Value: your key from https://fish.audio/app/api-keys
  4. OK out of all dialogs. Restart the terminal (and this app) so the variable is visible.

Session-only (PowerShell, not permanent):

$env:FISH_AUDIO_API_KEY = "your_key_here"

Run

Desktop (Notepad and other unelevated apps):

python elo_stt_passive.py

In some fullscreen games, Windows hides keyboard state from other programs. If Right Ctrl does nothing while the game is focused, start elevated (optional):

python elo_stt_passive.py --elevate
Action Result
Hold Right Ctrl Record (includes buffer before the press)
Release Right Ctrl Transcribe → type into the focused app
Right Shift while holding Right Ctrl Cancel; soft cancel sound
Ctrl+C in the console Quit

Configuration

Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "elo-stt-passive": { "command": "C:\\Projects\\Elo STT Passive\\repo\\.venv\\Scripts\\python.exe", "args": [ "C:\\Projects\\Elo STT Passive\\repo\\elo_stt_passive.py", "--mcp", "--skip-api-key-check" ] } } }