Local ASR Library transcribe.cpp Released to Address Cross-Platform Distribution Gaps
Version 0.1.0 of transcribe.cpp offers Vulkan GPU acceleration and multi-language bindings, aiming to replace legacy dependencies in the Handy application while ensuring numerical accuracy against reference implementations.
CJPais has released transcribe.cpp, a version 0.1.0 open-source library designed for local automatic speech recognition (ASR). Built upon the ggml framework, the tool supports multiple state-of-the-art transcription models and provides GPU acceleration via Vulkan. The library also offers language bindings for Rust, Python, C#, and Go, addressing the author’s need for a robust solution to distribute the Handy application across Mac, Windows, and Linux platforms.
The release responds to perceived deficiencies in the current ASR inference stack, which the author describes as having limited cross-platform options. Previous tools such as whisper.cpp and ONNX were cited as restrictive, with ONNX leaving performance on the table for CPU-only execution and other libraries lacking transparent maintenance or testing. transcribe.cpp aims to serve as a drop-in replacement for whisper.cpp, maintaining compatibility with existing .bin files while offering a more unified distribution story through ggml’s established community.
To ensure reliability, every model published under the handy-computer Hugging Face organisation has undergone numerical validation and word error rate (WER) testing against reference implementations. Benchmarks were conducted on a Ryzen 4750U running Fedora with Vulkan, as well as on an M4 Max device. The author emphasised that the library is designed to run inference locally, arguing that modern devices can achieve faster-than-real-time transcription with minimal power consumption, thereby reducing reliance on cloud-based services.
The project is supported by Mozilla AI through its BiR program, which provided initial backing for the development. Additional support includes compute credits from Modal for WER testing and CUDA verification, CI/CD infrastructure assistance from Blacksmith, and private storage for model uploads via Hugging Face. ggml contributors are also acknowledged for their foundational work that enabled the library’s creation.
As a v0.1.0 release, transcribe.cpp acknowledges potential rough edges and incomplete feature parity with its predecessor. Not all flags and features from whisper.cpp are currently supported, and not all state-of-the-art models are yet available, though more are planned. The author invites the community to contribute bindings and report issues, noting that long-term maintenance of third-party contributions will depend on the willingness of those contributors to take on the associated burden.
