uncloseai-speech/CHANGELOG.md

6.6 KiB

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, 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 — 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

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 (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 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
  • Initial prebuilt arm64 image support (Apple M-series, Raspberry Pi - MPS is not supported in XTTS/torch), thanks @JakeStevenson, @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 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

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 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 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