Jordan-Hall / Jordan-Hall/browser
[P0][VOICE-01] Local speech-to-text
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Programme: #1
Epic: #22
## Objective
Ship low-latency local speech input as a release requirement, with explicit microphone state, editable transcripts and no internet dependency.
## Scope
- Local streaming/push-to-talk transcription worker (whisper.cpp-class runtime initially).
- Visible microphone capture state and hardware permission handling.
- Partial transcript, final transcript, edit/correct and cancel flows.
- Audio lifecycle: discard raw audio by default after transcription; separate opt-in retention/export.
- Technical vocabulary hooks and per-user local vocabulary storage.
- Independent keyboard/global stop path while speech/inference workers are busy.
- Measurements for latency, WER/command accuracy, CPU/GPU/memory and noise behavior.
## Privacy / safety rules
- Recording state must never be hidden.
- Captured audio cannot automatically become durable memory/training data.
- Speech recognition alone never authorizes consequential writes.
## Acceptance criteria
- [ ] Transcription works with networking disabled on declared reference hardware.
- [ ] Microphone activity is always visibly indicated.
- [ ] Partial/final text can be edited before being used as task input.
- [ ] Audio is discarded by default according to documented retention behavior.
- [ ] Keyboard stop works even under heavy model load.
- [ ] Accent/noise/silence/code-symbol fixtures are measured and tracked.
## Dependencies
- LOCAL-01
**First phase:** P0
**Maturity target:** P1
**Owner:** local-ai-speech
Contributor guide
No contributing guide indexed for this repository
Research direction
Review the LOCAL-01 dependency and the stated privacy, safety, and acceptance criteria before choosing an implementation path. Define the reference hardware and measurement fixtures, then verify offline transcription, visible microphone state, editable partial and final text, default audio disposal, and keyboard stop behavior.
Written by the indexing model from the issue text.
Assessment
- Domain
- ai, audio-video-rtc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100