Simonlob's picture
Update kanitts/config.py
581f616 verified
"""Configuration classes for the TTS system."""
from dataclasses import dataclass
from typing import Optional
from .tokens import TokenRegistry
@dataclass
class AudioConfig:
"""Configuration for audio processing."""
nemo_model_name: str = "nvidia/nemo-nano-codec-22khz-0.6kbps-12.5fps"
sample_rate: int = 22050
device: Optional[str] = None
@dataclass
class ModelConfig:
"""Configuration for language model."""
model_name: str = 'nineninesix/kani-tts-400m-0.3-pt'
device_map: str = "auto"
torch_dtype: str = "bfloat16"
max_new_tokens: int = 1400
temperature: float = 0.6
top_p: float = 0.95
repetition_penalty: float = 1.1
@dataclass
class Config:
"""Main configuration container."""
model: ModelConfig
audio: AudioConfig
tokens: TokenRegistry
@classmethod
def default(cls) -> 'Config':
return cls(
model=ModelConfig(),
audio=AudioConfig(),
tokens=TokenRegistry()
)