ragleap-voice 0.3.5 (pre-alpha). Every model is still unverified and none is a default.
Fixed
- Overlapping Whisper model opens could lose or leak the offline environment variables (
HF_HUB_OFFLINE,TRANSFORMERS_OFFLINE). They are now reference counted behind a lock. - Threads sharing one engine through
transcribe()orsynthesize()could close or reload it under each other. Each engine now has its own lock around load, run and close, so threads on the same shared engine run one after the other; different engines still run in parallel.Transcriberkeeps its own engine and lock. Registry.registertakes a lock, so two threads cannot both register the same name.
Notes
- Versions 0.3.4 and earlier have these races. Defaults and the public API are unchanged.
- Not covered: other code changing the process environment while a model is opening, and thread safety inside faster-whisper itself (not checked).
- An engine must not call
transcribe()orsynthesize()from inside its ownrun().
Full details: https://github.com/ragleap/ragleap-core/blob/main/packages/ragleap-voice/CHANGELOG.md