# uncloseai-speech - Changelog ## Recent Changes **F5-TTS engine added, 2026-05-24** * 🦝 **F5-TTS integrated as `tts-1-f5`** (additive, enabled by default alongside `tts-1-qwen`) - Flow-matching zero-shot voice cloning ([SWivid/F5-TTS](https://github.com/SWivid/F5-TTS), MIT license) - ~336M params (vs Qwen3-TTS 1.7B), lower VRAM footprint - 24kHz output, matches Qwen3-TTS sample rate for drop-in voice swap - Reuses the same 40 LibriSpeech cloned voices as `tts-1-qwen` (shared `cloned-voices/` references) - Empirical benchmark: faster + better clones than Qwen3-TTS on identical reference clips - No `temperature` / `top_p` / `top_k` (flow-matching): uses `cfg_strength` + `nfe_step` instead - Inspiration: [MonumentalSystems/VoiceClone](https://github.com/MonumentalSystems/VoiceClone) — our wrapper mirrors their `F5TTS.infer()` call pattern **Raccoon Mission Updates, 2025-11-09** * 🦝 **Production-ready multiprocess architecture** - 4 uvicorn workers for true concurrency, bypassing Python's GIL * 🦝 **Voice auto-detection** - `model` parameter now optional, automatically selects correct engine from voice name * 🦝 **Voice cache initialization fix** - All worker processes now properly initialize voice-to-model lookup cache * 🦝 **Args initialization fix** - Worker processes now have access to server configuration via DefaultArgs class * 🦝 **235/245 voices working** (95.9% hydration success rate): - Piper: 55/55 voices (100%) - XTTS: 6/8 voices (75%) - Silero: 142/148 voices (95.9%) - Kokoro: 32/34 voices (94.1%) * 🦝 **Extended `/v1/voices` endpoint** - Returns all available voices with engine metadata * 🦝 **Makefile targets** - `make hydrate` (test all voices), `make load-test` (concurrent stress test) * 🦝 **Comprehensive docs** - See `docs/CLAUDE.md`, `docs/MODELS.md`, `docs/MIRRORS.md`, `docs/AUDIT.md` Version 0.18.2, 2024-08-16 * Fix docker building for amd64, refactor github actions again, free up more disk space Version 0.18.1, 2024-08-15 * refactor github actions Version 0.18.0, 2024-08-15 * Allow folders of wav samples in xtts. Samples will be combined, allowing for mixed voices and collections of small samples. Still limited to 30 seconds total. Thanks @nathanhere. * Fix missing yaml requirement in -min image * fix fr_FR-tom-medium and other 44khz piper voices (detect non-default sample rates) * minor updates Version 0.17.2, 2024-07-01 * fix -min image (re: langdetect) Version 0.17.1, 2024-07-01 * fix ROCm (add langdetect to requirements-rocm.txt) * Fix zh-cn for xtts Version 0.17.0, 2024-07-01 * Automatic language detection, thanks [@RodolfoCastanheira](https://github.com/RodolfoCastanheira) Version 0.16.0, 2024-06-29 * Multi-client safe version. Audio generation is synchronized in a single process. The estimated 'realtime' factor of XTTS on a GPU is roughly 1/3, this means that multiple streams simultaneously, or `speed` over 2, may experience audio underrun (delays or pauses in playback). This makes multiple clients possible and safe, but in practice 2 or 3 simultaneous streams is the maximum without audio underrun. Version 0.15.1, 2024-06-27 * Remove deepspeed from requirements.txt, it's too complex for typical users. A more detailed deepspeed install document will be required. Version 0.15.0, 2024-06-26 * Switch to [coqui-tts](https://github.com/idiap/coqui-ai-TTS) (updated fork), updated simpler dependencies, torch 2.3, etc. * Resolve cuda threading issues Version 0.14.1, 2024-06-26 * Make deepspeed possible (`--use-deepspeed`), but not enabled in pre-built docker images (too large). Requires the cuda-toolkit installed, see the Dockerfile comment for details Version 0.14.0, 2024-06-26 * Added `response_format`: `wav` and `pcm` support * Output streaming (while generating) for `tts-1` and `tts-1-hd` * Enhanced [generation parameters](#generation-parameters) for xtts models (temperature, top_p, etc.) * Idle unload timer (optional) - doesn't work perfectly yet * Improved error handling Version 0.13.0, 2024-06-25 * Added [Custom fine-tuned XTTS model support](#custom-fine-tuned-model-support) * Initial prebuilt arm64 image support (Apple M-series, Raspberry Pi - MPS is not supported in XTTS/torch), thanks [@JakeStevenson](https://github.com/JakeStevenson), [@hchasens](https://github.com/hchasens) * Initial attempt at AMD GPU (ROCm 5.7) support * Parler-tts support removed * Move the *.default.yaml to the root folder * Run the docker as a service by default (`restart: unless-stopped`) * Added `audio_reader.py` for streaming text input and reading long texts Version 0.12.3, 2024-06-17 * Additional logging details for BadRequests (400) Version 0.12.2, 2024-06-16 * Fix :min image requirements (numpy<2?) Version 0.12.0, 2024-06-16 * Improved error handling and logging * Restore the original alloy tts-1-hd voice by default, use alloy-alt for the old voice. Version 0.11.0, 2024-05-29 * 🌐 [Multilingual](#multilingual) support (16 languages) with XTTS * Remove high Unicode filtering from the default `config/pre_process_map.yaml` * Update Docker build & app startup. thanks @justinh-rahb * Fix: "Plan failed with a cudnnException" * Remove piper cuda support Version: 0.10.1, 2024-05-05 * Remove `runtime: nvidia` from docker-compose.yml, this assumes nvidia/cuda compatible runtime is available by default. thanks [@jmtatsch](https://github.com/jmtatsch) Version: 0.10.0, 2024-04-27 * Pre-built & tested docker images, smaller docker images (8GB or 860MB) * Better upgrades: reorganize config files under `config/`, voice models under `voices/` * **Compatibility!** If you customized your `voice_to_speaker.yaml` or `pre_process_map.yaml` you need to move them to the `config/` folder. * default listen host to 0.0.0.0 Version: 0.9.0, 2024-04-23 * Fix bug with yaml and loading UTF-8 * New sample text-to-speech application `say.py` * Smaller docker base image * Add beta [parler-tts](https://huggingface.co/parler-tts/parler_tts_mini_v0.1) support (you can describe very basic features of the speaker voice), See: (https://www.text-description-to-speech.com/) for some examples of how to describe voices. Voices can be defined in the `voice_to_speaker.default.yaml`. Two example [parler-tts](https://huggingface.co/parler-tts/parler_tts_mini_v0.1) voices are included in the `voice_to_speaker.default.yaml` file. `parler-tts` is experimental software and is kind of slow. The exact voice will be slightly different each generation but should be similar to the basic description. ... Version: 0.7.3, 2024-03-20 * Allow different xtts versions per voice in `voice_to_speaker.yaml`, ex. xtts_v2.0.2 * Quality: Fix xtts sample rate (24000 vs. 22050 for piper) and pops