| | """ |
| | Models Module |
| | |
| | TTS模型定义模块,包含: |
| | - 基础配置抽象类 |
| | - 各种TTS引擎的配置模型 |
| | - 全局配置注册表 |
| | """ |
| |
|
| | from .base import ( |
| | TTSConfigType, |
| | VoiceModelStatus, |
| | BaseTTSConfig, |
| | TTSConfigRegistry, |
| | tts_config_registry |
| | ) |
| |
|
| | |
| | try: |
| | from .moyoyo import MoYoYoTTSConfig |
| |
|
| | _moyoyo_available = True |
| | except ImportError: |
| | _moyoyo_available = False |
| | from voice_dialogue.utils.logger import logger |
| |
|
| | logger.warning("MoYoYo TTS config not available") |
| |
|
| | try: |
| | from .kokoro import KokoroTTSConfig |
| |
|
| | _kokoro_available = True |
| | except ImportError: |
| | _kokoro_available = False |
| | from voice_dialogue.utils.logger import logger |
| |
|
| | logger.warning("Kokoro TTS config not available") |
| |
|
| | |
| | __all__ = [ |
| | 'TTSConfigType', |
| | 'VoiceModelStatus', |
| | 'BaseTTSConfig', |
| | 'TTSConfigRegistry', |
| | 'tts_config_registry', |
| | ] |
| |
|
| | if _moyoyo_available: |
| | __all__.append('MoYoYoTTSConfig') |
| | if _kokoro_available: |
| | __all__.append('KokoroTTSConfig') |
| |
|
| |
|
| | |
| | def _auto_register_configs(): |
| | """自动注册所有TTS配置""" |
| | try: |
| | if _moyoyo_available: |
| | from ..configs.moyoyo import get_moyoyo_configs |
| | for config in get_moyoyo_configs(): |
| | tts_config_registry.register_config(config) |
| | except Exception as e: |
| | from voice_dialogue.utils.logger import logger |
| | logger.error(f"Failed to auto-register configs: {e}") |
| |
|
| | try: |
| | if _kokoro_available: |
| | from ..configs.kokoro import get_kokoro_configs |
| | for config in get_kokoro_configs(): |
| | tts_config_registry.register_config(config) |
| | except Exception as e: |
| | from voice_dialogue.utils.logger import logger |
| | logger.error(f"Failed to auto-register configs: {e}") |
| |
|
| |
|
| | |
| | _auto_register_configs() |
| |
|
| |
|
| | |
| | def get_config_stats(): |
| | """获取配置统计信息""" |
| | all_configs = tts_config_registry.get_all_configs() |
| | stats = { |
| | 'total_configs': len(all_configs), |
| | 'configs_by_type': {} |
| | } |
| |
|
| | for config_type in TTSConfigType: |
| | type_configs = tts_config_registry.get_configs_by_type(config_type) |
| | stats['configs_by_type'][config_type.value] = len(type_configs) |
| |
|
| | return stats |
| |
|