0.4.0
OpenBMB/MiniCPM-V0.4.0Apr 7, 2025by edwko
AI Summary
OuteTTS Lib v0.4 introduces Interface Version 3 for v1.0 models, smart text chunking for long audio generation, and improved performance with dynamic component loading.
Key Highlights
- Interface Version 3 implementation for OuteTTS v1.0 models
- Windowed repetition penalty processor for improved text generation quality
- Smart text chunking for generating long audio clips
- DAC interface code for OuteTTS 1.0 audio encoding/decoding
- Dynamically loading only required components for improved loading times
Breaking Changes
- Interface consolidation into single interface.py file
- Interface Version 3 (V3) introduced with different API
- New GenerationConfig structure with CHUNKED generation type
New Features
- Automatic configuration for v1.0 models
- Metadata for interface version compatibility in speaker files
- Manual configuration remains available
- Improved backward compatibility with standard HuggingFace interfaces
- Streamlined code usage with modular implementation
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)