Skip to content
    ↑↓ select↵ openesc close
    English中文
    pankajudhas81

    Speech To Text

    v0.1.1Model Providers
    opencode-speech-to-text

    Speech-to-text plugin for opencode — push-to-talk dictation via sox + Groq Whisper (Ctrl+')

    GitHub stars

    0

    Monthly installs

    385

    175 in 7 days

    Composite scoreSCORE

    32.0

    Multi-signal model

    Last commit

    2 months ago

    2026-06-04

    Install and configure

    opencode.json

    Writes to this project's opencode.json — applies to this repository only.

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-speech-to-text@0.1.1"]
    }

    opencode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.

    Push-to-talk speech-to-text for opencode — record with Ctrl+', transcribe with Groq Whisper, and drop the cleaned text straight into your prompt.

    Features

    • Push-to-talk recording via sox (Ctrl+' toggles start/stop)
    • Groq Whisper transcription (OpenAI and custom endpoints too)
    • LLM cleanup pass — fixes punctuation and coding homophones (pie→pi, Jason→JSON, cash→cache, …)
    • Languages — auto-detect or pick one of several
    • Mic picker + persistent preferences across sessions

    Prerequisites

    Install

    The simplest way — let opencode wire up both targets and install it:

    opencode plugin opencode-speech-to-text -gf
    

    This is a TUI plugin, so its real entry must be registered in tui.json (not opencode.json). To wire it manually, add it to the plugin array in tui.json:

    // ~/.config/opencode/tui.json
    {
        "$schema": "https://opencode.ai/tui.json",
        "plugin": ["opencode-speech-to-text"],
    }
    

    Restart opencode after installing — TUI plugins load at startup.

    Usage

    Press Ctrl+' to start recording, speak, then press Ctrl+' again to stop. The transcription is cleaned up and appended to your prompt. You can also run /voice (works in any terminal, even when Ctrl+' can't be transmitted).

    Change the shortcut

    Ctrl+' needs a terminal that transmits modified keys (kitty/CSI-u protocol). If yours doesn't, override the key via plugin options:

    // tui.json
    { "plugin": [["opencode-speech-to-text", { "keybind": "ctrl+g" }]] }
    

    Commands

    Command Description
    /voice Toggle recording (start/stop)
    /voice-cancel Cancel the current recording
    /voice-provider Switch transcription provider
    /voice-model Pick the Whisper model
    /voice-mic Pick the audio input device
    /voice-language Set language or auto-detect

    Providers

    Provider API key env Default model
    Groq GROQ_API_KEY whisper-large-v3
    OpenAI OPENAI_API_KEY whisper-1
    Custom (configurable) whisper-large-v3

    Cleanup runs on Groq Llama 3.3 70B (falls back to 3.1 8B) and also uses GROQ_API_KEY.

    Development

    pnpm install
    pnpm run build
    pnpm run lint
    

    License

    MIT