acme-misc/speak
Levi Neely 90e8e4dbf0 ignore bin 2026-06-08 18:22:46 +02:00
..
models speak 2026-06-08 18:22:04 +02:00
.gitignore ignore bin 2026-06-08 18:22:46 +02:00
README.md speak 2026-06-08 18:22:04 +02:00
download-coreml-model.sh speak 2026-06-08 18:22:04 +02:00
download-ggml-model.sh speak 2026-06-08 18:22:04 +02:00
download-vad-model.sh speak 2026-06-08 18:22:04 +02:00
go.mod speak 2026-06-08 18:22:04 +02:00
go.sum speak 2026-06-08 18:22:04 +02:00
main.go speak 2026-06-08 18:22:04 +02:00
mkfile speak 2026-06-08 18:22:04 +02:00

README.md

Speak

Real-time speech-to-text for the acme editor using whisper.cpp streaming.

Features

  • Real-time transcription as you speak
  • Toggle recording with a single click
  • Streams text directly to acme window
  • Uses whisper.cpp tiny model for fast inference
  • Latency varies by CPU speed (typically a few seconds)

Requirements

Installation

  1. Install and build whisper.cpp:
git clone https://github.com/ggml-org/whisper.cpp
cd whisper.cpp
make stream
# Install whisper-stream to PATH
cp build/bin/whisper-stream ~/bin/
  1. Install Speak:
git clone https://github.com/lneely/acme-speak
cd acme-speak
mk install  # Downloads tiny model and builds binary to ~/bin/Speak

Usage

From acme, add Speak to your window tag and click it:

  • First click: Start real-time transcription
  • Second click: Stop transcription

Text appears in the acme window as you speak.

Configuration

Edit main.go to change:

  • Model: Change modelPath constant (tiny, base, small, etc.)
  • Latency/accuracy: Adjust --step and --length parameters
    • Current: 500ms step, 5000ms context (good balance)
    • Lower latency: 300ms step, 3000ms context (less accurate)
    • Higher accuracy: 1000ms step, 8000ms context (more lag)

Rebuild after changes: go build -o ~/bin/Speak .