ragleap-voice is a pre-alpha Python library for local-first speech tooling, with Indian languages as a priority. Every model is unverified and none is a default. Source: its README and changelog at the 0.3.6 tag.
What does ragleap-voice do today?
A command line and a small standard-library-only Python core (no runtime dependencies, Python 3.10 or newer) for finding, locking, downloading and verifying speech models safely. On top of that, transcribe() and synthesize() run a Whisper large-v3 engine (optional extra whisper) and an Indic Parler-TTS engine (an isolated worker you set up yourself). It is separate from the core RagLeap voice channel, which connects through Twilio today.
How do I find and check a model?
These are the README commands:
pip install ragleap-voice
uv pip install ragleap-voice
uvx ragleap-voice models list
ragleap-voice models list
ragleap-voice models show indic-parler-tts
ragleap-voice models check
Every manifest entry is unverified: a research lead, not an endorsement.
How does it keep model downloads safe?
- Lock files record the size and SHA-256 of every file at a pinned revision.
models verifychecks a cache folder against them, offline and read-only. models checkrejects verified or default entries that lack a matching lock, use licences outside the allowlist, or list pickle-capable files.models pulldownloads from Hugging Face only: HTTPS, a host allowlist, and the token (HF_TOKEN) is sent only to huggingface.co. Every file is checked against its lock before it enters the cache, and--offlinemakes no network calls.- Nothing in the package uses the network unless you run
models pullormodels lock.
How fast is it?
Not measured as a benchmark. In 0.3.2 the changelog records one clip on one Colab T4 (not a benchmark): a call went from about 14 to 15 s to about 3.4 s with transcribe(), and about 0.75 s with the opt-in Transcriber. That is batch decoding, not streaming latency.
What about streaming and phone audio?
transcribe_stream is a batch adapter: it buffers the audio and runs transcribe() once, so there are no partial transcripts. synthesize_stream is chunked playback of a finished waveform. Real phone audio is not measured.
What is not verified?
- Every model is unverified. Each engine has been run on only a few clips on one maintainer’s machine.
- 0.3.6 adds an optional voice-activity detector,
SileroGate(extravad). It is not exported and off by default, the model file is not bundled, its weights licence and training data are not verified, and the tests use a fake backend (one manual Colab smoke test passed). - Benchmark results are one-run measurements with their limits stated. The install check (one Colab run, one clip each in seven more languages) is not an accuracy claim.
How can I help?
Testing is wanted: issue #960 (Whisper) and issue #990 (Parler). Our Tests page counts 32 test files and 359 test functions on the main branch (a count, not a pass count).
More: the library page, the release notes and the source.