v0.7.1
RealtimeTTS v0.7.1
Features
-
New TTS Engines
- OmniVoice: Added
OmniVoiceEngineandOmniVoiceVoicefork2-fsa/OmniVoicevoice cloning with reference audio and transcript support. - Typecast: Added
TypecastEngineandTypecastVoicefor Typecast API synthesis through thetypecast-pythonSDK. - Chatterbox Turbo: Added
ChatterboxEngineandChatterboxVoicefor prompt-audio voice cloning throughchatterbox-tts. - LuxTTS: Added
LuxTTSEngineandLuxTTSVoicefor LuxTTS/ZipVoice-based zero-shot voice cloning with prompt audio and transcript support. - SoproTTS: Added
SoproTTSEngineandSoproTTSVoicewith reference-audio setup and native streaming support. - SopranoTTS: Added
SopranoEngineandSopranoVoicefor the upstreamsoprano-ttspackage. - MOSS-TTS: Added
MossTTSEngineandMossTTSVoicefor MOSS-TTS-Nano with ONNX and torch backend support.
- OmniVoice: Added
-
Inline Voice and Pause Tags
- Added inline voice switching in
TextToAudioStreamviaadd_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.
- Added inline voice switching in
Improvements
-
NeuTTS
- Reworked
NeuTTSEnginefor explicitNeuTTSVoicevalidation, 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-ggufextra for NeuTTS optionalllama/onnxdependencies. - Added cleanup of reference cache and CUDA cache on shutdown.
- Reworked
-
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
espeaktokenizer path.
-
Engine API Consistency
- Updated engine
synthesize()methods to accept an optionalsentence_countargument used byTextToAudioStream. - Added root lazy exports for
OmniVoiceEngine,TypecastEngine,LuxTTSEngine,ChatterboxEngine,SoproTTSEngine,SopranoEngine, andMossTTSEngine. - Added matching exports under
RealtimeTTS.engines.
- Updated engine
-
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, andpiperextras. - Expanded
[all]to include the broader engine dependency set. - Relaxed
camb-sdkfrom==1.5.8to>=1.5.8. - Fixed
unidic-literequirement typo from=>1.0.8to>=1.0.8. - Excluded tests from built distributions.
Fixes
- Fixed the 0.7.0 PyPI packaging mismatch where
typecastextra metadata existed buttypecast_engine.pywas missing from the distribution. - Fixed
TypecastEngine.synthesize()to accept the stream-providedsentence_countargument. - 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.ptto.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.pyfor inline emotion/voice tag demos. - Added emotional reference WAV assets and
reference_texts.jsonfor OmniVoice emotion tests. - Updated
tests/faster_qwen_emotions.pywith 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.