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.