Skip to content

v0.7.1

Choose a tag to compare

@KoljaB KoljaB released this 10 May 19:23
· 34 commits to master since this release

RealtimeTTS v0.7.1

Features

  • New TTS Engines

    • OmniVoice: Added OmniVoiceEngine and OmniVoiceVoice for k2-fsa/OmniVoice voice cloning with reference audio and transcript support.
    • Typecast: Added TypecastEngine and TypecastVoice for Typecast API synthesis through the typecast-python SDK.
    • Chatterbox Turbo: Added ChatterboxEngine and ChatterboxVoice for prompt-audio voice cloning through chatterbox-tts.
    • LuxTTS: Added LuxTTSEngine and LuxTTSVoice for LuxTTS/ZipVoice-based zero-shot voice cloning with prompt audio and transcript support.
    • SoproTTS: Added SoproTTSEngine and SoproTTSVoice with reference-audio setup and native streaming support.
    • SopranoTTS: Added SopranoEngine and SopranoVoice for the upstream soprano-tts package.
    • MOSS-TTS: Added MossTTSEngine and MossTTSVoice for MOSS-TTS-Nano with ONNX and torch backend support.
  • Inline Voice and Pause Tags

    • Added inline voice switching in TextToAudioStream via add_voice(), remove_voice(), clear_voices(), and configurable tag delimiters.
    • Added inline pause tags with add_pause(), remove_pause(), clear_pauses(), and duration overrides such as [pause=0.5].
    • Added add_emotion() / remove_emotion() aliases for emotion-style voice switching.
    • Active voice mappings are reapplied after fallback engine switches.

Improvements

  • NeuTTS

    • Reworked NeuTTSEngine for explicit NeuTTSVoice validation, reference transcript checks, pre-encoded reference caching, and cleaner voice management.
    • Added support for separate backbone/codec devices, optional language selection, GGUF backbone cache resolution, and streaming configuration.
    • Added neutts-gguf extra for NeuTTS optional llama/onnx dependencies.
    • Added cleanup of reference cache and CUDA cache on shutdown.
  • ZipVoice

    • Improved prompt feature caching with metadata based on prompt audio identity, transcript, target RMS, feature scale, and sample rate.
    • Ignores stale or legacy prompt caches instead of silently reusing mismatched features.
    • Fixed tokenizer language argument handling for the espeak tokenizer path.
  • Engine API Consistency

    • Updated engine synthesize() methods to accept an optional sentence_count argument used by TextToAudioStream.
    • Added root lazy exports for OmniVoiceEngine, TypecastEngine, LuxTTSEngine, ChatterboxEngine, SoproTTSEngine, SopranoEngine, and MossTTSEngine.
    • Added matching exports under RealtimeTTS.engines.
  • Packaging

    • Expanded engine extras for the new local/cloud engines and broader neural-engine dependency stacks.
    • Added modelslab, typecast, omnivoice, luxtts, zipvoice, chatterbox, sopro, soprano, neutts-gguf, styletts, parler, moss, moss-tts, pocket, and piper extras.
    • Expanded [all] to include the broader engine dependency set.
    • Relaxed camb-sdk from ==1.5.8 to >=1.5.8.
    • Fixed unidic-lite requirement typo from =>1.0.8 to >=1.0.8.
    • Excluded tests from built distributions.

Fixes

  • Fixed the 0.7.0 PyPI packaging mismatch where typecast extra metadata existed but typecast_engine.py was missing from the distribution.
  • Fixed TypecastEngine.synthesize() to accept the stream-provided sentence_count argument.
  • Fixed Piper model config reading to use UTF-8 encoding. (#371)
  • Improved silence insertion so it respects stream channel count and avoids non-PCM/custom stream formats.
  • Preserved unknown inline tags as text instead of stripping them.
  • Added tests/ref_audio.pt to .gitignore.

Documentation

  • Reworked the README into a compact overview with quick install, first audio, streaming, output, engine overview, and docs map.
  • Added focused English documentation pages for installation, quick start, engine selection, feed/playback, LLM streaming, output/files, and each concrete engine.
  • Added MkDocs navigation for the new English-first docs topology.
  • Documented engine-specific install caveats for local model checkouts, external binaries, CUDA/PyTorch choices, API keys, and manual upstream package installs.

Tests and Examples

  • Added tests/omnivoice_test.py.
  • Added tests/omnivoice_emotions.py for inline emotion/voice tag demos.
  • Added emotional reference WAV assets and reference_texts.json for OmniVoice emotion tests.
  • Updated tests/faster_qwen_emotions.py with the full emotion dataset list.

Notes

  • Some engines still require external setup that cannot be installed by Python extras alone, including Piper binaries/models, ZipVoice/LuxTTS/MOSS upstream assets, CUDA-specific PyTorch wheels, provider accounts, and local model files.
  • No intentional breaking changes.