Transcribe.cpp

A new open-source C++ library, Transcribe.cpp, aims to make high-quality speech-to-text inference run locally across devices, positioning itself as a more flexible, model-agnostic successor to whisper.cpp. Commenters highlight its streaming support, Rust/Python/TS bindings, and integration into apps like Handy for offline dictation, while also noting active work on diarization, browser support, and Linux usability. The project is seen as part of a broader shift toward privacy-preserving, locally run AI tooling that avoids cloud subscriptions and vendor lock-in.

Overall Role and Positioning

  • Seen largely as a modern, more flexible successor to whisper.cpp, with better multi‑model support and streaming.
  • Aims to make local speech inference easy to embed in apps and, longer term, to act as a system-level library.
  • Fits into a broader trend commenters note: more AI inference moving on-device for performance, privacy, and reliability.

Model Support and Performance

  • Supports various SOTA open models (e.g., Parakeet, Whisper, Cohere Transcribe, Nemotron streaming, others), with accuracy verified against each model’s reference implementation.
  • GPU performance varies strongly by hardware; examples compare fast Apple Silicon (Metal) to weaker integrated GPUs (Vulkan).
  • Some feel ONNX is excellent on CPU but disappointing or bloated for GPU STT; transcribe.cpp is seen as a leaner alternative.

Streaming, UX, and Continuous Dictation

  • Strong interest in low-latency, continuous transcription that types at the cursor, not just batch results.
  • Some prefer non-streaming (batch) for better focus and accuracy; others insist streaming is essential for workflows like coding, note-taking, and AI prompting.
  • Discussion of “rewrite as you go” UX (early rough text then retroactive corrections), similar to older Dragon and modern mobile dictation.

Diarization and Speaker Features

  • Speaker separation and diarization are in active development, with multiple model families being integrated.
  • Commenters stress diarization as increasingly critical, especially for multi-speaker meetings and collaborative translation.
  • Speaker identification (who is who) is requested but not yet clearly supported; diarization comes first.

Bindings, Platforms, and Deployment

  • First-party bindings in several languages (including Rust and Python); Python wheels with bundled binaries are planned but not fully there.
  • Interest in a robust local transcription server/API and in browser support; browser use is explicitly “not out of the box” and future/unclear.
  • Handy and other apps built on top are praised, but Linux/Wayland global hotkeys and text injection remain pain points; more testers are requested.

Other Themes and Limitations

  • Users want filler-word filtering, domain-specific vocabulary boosting, and translation; today these are mostly post-processing or “future” features.
  • IPA/phoneme-level transcription for minority languages is desired but considered out of scope unless suitable models emerge.
  • Mixed reports on handling dialects and strong accents; current effectiveness is unclear.
  • General sentiment: very high enthusiasm for the project and for local, open-source dictation as an alternative to SaaS tools.