0.4.0
modelcontextprotocol/registry0.4.0Apr 7, 2025by edwko
AI Summary
Major library update consolidating interfaces, introducing version 3 for v1.0 models, and optimizing performance.
Key Highlights
- Consolidated all interface versions into a single `interface.py` file
- Added Interface Version 3 to support OuteTTS v1.0 models
- Smart text chunking for long audio clips
- Windowed repetition penalty processor for better quality
- Automatic configuration support for v1.0 models
New Features
- Interface consolidation
- Interface Version 3
- Smart text chunking
- DAC interface code
- Windowed repetition penalty processor
- Automatic configuration
- Improved loading times
- Removed unused dependencies
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)