Skip to content

feat(stt): add local_parakeet provider using parakeet-mlx - #5350

Closed
caseyg wants to merge 1 commit into
NousResearch:mainfrom
caseyg:feat/parakeet-mlx-stt
Closed

feat(stt): add local_parakeet provider using parakeet-mlx#5350
caseyg wants to merge 1 commit into
NousResearch:mainfrom
caseyg:feat/parakeet-mlx-stt

Conversation

@caseyg

@caseyg caseyg commented Apr 5, 2026

Copy link
Copy Markdown

Summary

  • Adds local_parakeet as a new local STT provider using parakeet-mlx for Apple Silicon
  • ~2x faster than faster-whisper with excellent English accuracy
  • Auto-detected first in the fallback chain when parakeet_mlx is installed
  • Follows the same singleton-model pattern as the existing local provider

Fixes #5349

Changes

  • tools/transcription_tools.py — new provider detection, _transcribe_parakeet() function, dispatcher routing, auto-detect priority
  • hermes_cli/config.py — add stt.parakeet.model config default

Configuration

stt:
  provider: local_parakeet  # or omit to auto-detect
  parakeet:
    model: mlx-community/parakeet-tdt-0.6b-v2

Test plan

  • Install parakeet-mlx: pip install parakeet-mlx
  • Set stt.provider: local_parakeet in config.yaml
  • Test CLI voice mode (/voice on) — verify transcription works
  • Test with provider omitted — verify auto-detection picks parakeet over whisper
  • Test without parakeet-mlx installed — verify graceful fallback to local whisper
  • Test gateway voice messages (Telegram/Discord) — verify transcription via gateway

🤖 Generated with Claude Code

…ilicon

parakeet-mlx is ~2x faster than faster-whisper on Apple Silicon and has
excellent English accuracy. This adds it as a new local STT provider
following the same singleton-model pattern as the existing local
(faster-whisper) provider.

- New provider: local_parakeet (config: stt.provider: local_parakeet)
- Config key: stt.parakeet.model (default: mlx-community/parakeet-tdt-0.6b-v2)
- Auto-detect priority: local_parakeet > local > groq > openai
- Graceful degradation when parakeet-mlx is not installed

All existing voice mode, gateway, and Discord integrations pick it up
automatically since they go through transcribe_audio().

Fixes NousResearch#5349

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/tools Tool registry, model_tools, toolsets tool/tts Text-to-speech and transcription labels May 1, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the Apple Silicon STT contribution. This is an automated hermes-sweeper review; current main now provides this capability through the generic STT command-provider path.

  • tools/transcription_tools.py:1703 resolves stt.providers.<name> command providers and dispatches them through the normal transcription pipeline.
  • website/docs/user-guide/features/tts.md:491 explicitly documents Parakeet as a supported command-provider use case, including configurable provider name, model, audio input, and transcript output.
  • The linked issue already has a concrete parakeet-mlx configuration workaround: feat: add parakeet-mlx as local STT provider (Apple Silicon) #5349 (comment).
  • This was introduced by d3ffbc640940d8ce78ba2f5b44f0bc761e99dd45 (feat(stt): add stt.providers.<name> command-provider registry).

Closing as implemented on main.

@teknium1 teknium1 closed this Jul 12, 2026
@teknium1 teknium1 added the sweeper:implemented-on-main Sweeper: behavior already present on current main label Jul 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/tools Tool registry, model_tools, toolsets P3 Low — cosmetic, nice to have sweeper:implemented-on-main Sweeper: behavior already present on current main tool/tts Text-to-speech and transcription type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add parakeet-mlx as local STT provider (Apple Silicon)

3 participants