0.4.0
antgroup/echomimic_v20.4.0Apr 7, 2025by edwko
AI Summary
A major update consolidating interfaces, adding smart text chunking for long audio, and implementing a DAC interface for OuteTTS 1.0 with improved text generation quality.
Key Highlights
- Consolidated all interface versions into a single file
- Implemented smart text chunking for long audio
- Added DAC interface for OuteTTS 1.0 encoding/decoding
- Implemented windowed repetition penalty processor
New Features
- Interface consolidation
- Smart text chunking
- DAC interface
- Windowed repetition penalty
- Automatic configuration for v1.0 models
- Improved loading times and dependency management
Full Release Notes
# OuteTTS Lib v0.4 Release Notes
## Interface Improvements
- Consolidated all interface versions into a single `interface.py` file for centralized management
- Implemented isolated model handling in separate version folders while maintaining core functionality for cross-compatibility
- Added Interface Version 3 implementation to support **OuteTTS v1.0 models**
## New Features
- Smart text chunking for generating long audio clips from large text inputs
- Added DAC interface code to handle OuteTTS 1.0 audio encoding and decoding
- Added metadata for interface version compatibility in speaker files
## Transformers Backend Patch for OuteTTS 1.0
- Implemented windowed repetition penalty processor (`RepetitionPenaltyLogitsProcessorPatch`) for improved text generation quality
- Applies penalties only to recent tokens (64-token window) rather than full context
- Addresses key quality issues in speech synthesis applications
- Maintains backward compatibility with standard HuggingFace interfaces
## Streamlined Usage
Simplified code usage with a more modular and compact implementation:
```python
output = interface.generate(
config=outetts.GenerationConfig(
text="Hello, how are you doing?",
generation_type=outetts.GenerationType.CHUNKED,
speaker=speaker,
sampler_config=outetts.SamplerConfig(
temperature=0.4
# Additional sampler parameters
),
)
)
```
## Automatic Configuration
Added support for automatic config and model loading for v1.0 models:
```python
# Auto-configuration approach
interface = outetts.Interface(
config=outetts.ModelConfig.auto_config(
model=outetts.Models.VERSION_1_0_SIZE_1B,
backend=outetts.Backend.LLAMACPP,
quantization=outetts.LlamaCppQuantization.FP16
)
)
```
Manual configuration remains available:
```python
# Manual configuration approach
interface = outetts.Interface(
config=outetts.ModelConfig(
model_path="...",
tokenizer_path="...",
backend=outetts.Backend.LLAMACPP,
interface_version=outetts.InterfaceVersion.V3
)
)
```
## Performance and Dependencies
- Improved loading times by dynamically loading only required components
- Removed unused dependencies (further optimizations pending, particularly for WavTokenizer implementation)
## Documentation
Full usage documentation is available at:
š [interface_usage.md](https://github.com/edwko/OuteTTS/blob/main/docs/interface_usage.md)