Skip to content

feat(dictation): Parakeet v3 as a dictation model - #122

Merged
Maxaubert merged 1 commit into
mainfrom
feat/121-parakeet
Oct 4, 2026
Merged

Maxaubert merged 1 commit into
mainfrom
feat/121-parakeet

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Closes #121.

Adds Parakeet v3 as a dictation model. This is a change to Prism too: it is in core/ (core 0.23.0), so Prism gets it through the automatic core bump. Merge Maxaubert/Prism#279 first: Prism's dictationPage gate would otherwise fail on the new row (verified: it passes there on both the old and the new core).

What it does

  • Catalog: ggml-parakeet-tdt-0.6b-v3-q8_0.bin (668757119 bytes, SHA-256 4d64e9e9...fd600e), URL pinned to ggml-org/parakeet-GGUF commit 35156454d1a39de06863303dd209fd2bed6ee079, flagged limitedLanguages.
  • Engine: parakeet-cli.exe + parakeet.dll from the same b5130 zip and GPU pack; fetch-whisper.mjs and ENGINE list the same files (test holds them).
  • Main: one parakeet-cli per pass, the WAV on stdin (-f -), never written to disk; text off stdout (UTF-8). GPU when the pack is installed and enabled, else -ng. A GPU pass falls back to the CPU only when the engine died, Whisper's rule (an error: about the audio or a timeout keeps the GPU). Warm-up is a silent pass at the Whisper warm-up's hooks; partials one at a time through the existing queue. Switching off, a model or pack change and quit kill a pass in flight.
  • Download prompt: "This model doesn't support all languages." with Cancel / Download.
  • Language picker: while the active model is flagged it shows Auto-detect, disabled, with a globe icon whose tooltip is "This model doesn't support all languages."; the stored language is untouched and comes back with a Whisper model.

Tests

  • Typecheck clean; lint 0 errors (12 existing warnings); unit 1236/1236.
  • npm run e2e -- dictation: dictation 21/21, dictationPage 36/36, dictationParakeet 11/11 (real engine, q4_0 file, jfk clip: the sentence lands on the prompt, no Enter).
  • Measured outside the app: the real parakeet-cli reads the WAV from stdin and gives the exact sentence; the silent warm-up compiled the GPU kernels in 23.7 s on an empty cache, the next pass 0.59 s.

For the owner

  • The Parakeet row in the model list carries the NVIDIA mark, as the Whisper rows carry OpenAI's; the pop-up and tooltip name no vendor. The row's note reads "Fast and accurate on any PC, in fewer languages."; say if you want other words or none.
  • Not packaged or installed (per the task); hands-on: how it sounds, and the GPU path on your card.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t

parakeet-cli from the same pinned whisper.cpp b5130 zip and GPU pack,
one process per pass with the WAV on stdin (never on disk), warmed by a
silent pass at the Whisper warm-up's hooks. A limitedLanguages flag
asks before the download and disables the language picker with an icon;
the stored language is untouched. Core 0.23.0, app 0.28.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t
@Maxaubert
Maxaubert merged commit 5a48629 into main Oct 4, 2026
2 checks passed
@Maxaubert
Maxaubert deleted the feat/121-parakeet branch October 4, 2026 10:02
github-actions Bot pushed a commit that referenced this pull request Oct 4, 2026
parakeet-cli from the same pinned whisper.cpp b5130 zip and GPU pack,
one process per pass with the WAV on stdin (never on disk), warmed by a
silent pass at the Whisper warm-up's hooks. A limitedLanguages flag
asks before the download and disables the language picker with an icon;
the stored language is untouched. Core 0.23.0, app 0.28.0.


Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dictation: add Parakeet v3 as a model

1 participant