138 lines
6.6 KiB
Markdown
138 lines
6.6 KiB
Markdown
# 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
|