瀏覽代碼

In between commit

Patrick Baumgartner 10 月之前
父節點
當前提交
60e5aad357
共有 2 個文件被更改,包括 66 次插入8 次删除
  1. 59 8
      trainer/__init__.py
  2. 7 0
      trixy_core/events/event_data.py

+ 59 - 8
trainer/__init__.py

@@ -11,28 +11,79 @@ Features:
 - Professional logging and error handling
 - Wakeword detection training (RepCNN)
 - Voice recognition training (ECAPA-TDNN, TitaNet-S, SpeakerNet-M)
+- Command-line interface and server integration
 - Extensible architecture for custom models
 """
 
+# Core framework components
 from .base import BaseTrainer, TrainerConfig, TrainingState
-from .model_formats import ModelFormatHandler, PTHHandler, PTHandler, ONNXHandler
-from .metadata import MetadataManager, ModelMetadata
+from .config import TrainerConfigManager, ModelFormat
+from .metadata import ModelMetadata, MetadataManager, ModelType
+from .model_formats import ModelFormatManager
+from .data_pipeline import AudioProcessingConfig, AudioProcessor, AudioDataset
 from .utils import TrainerLogger, ProgressMonitor, ValidationMetrics
+from .validation import ModelValidator, ValidationConfig
+
+# Specialized trainers
+from .wakeword.trainer import WakewordTrainer, create_wakeword_trainer_config
+from .wakeword.models import RepCNN, ImprovedRepCNN, LightweightRepCNN, create_repcnn_model
+
+# Voice recognition components
+from .voice_recognition.trainer import VoiceRecognitionTrainer, create_voice_recognition_trainer_config
+from .voice_recognition.models import (
+    ECAPA_TDNN, TitaNet_S, SpeakerNet_M, create_voice_recognition_model,
+    AngularMarginLoss, GE2ELoss
+)
+
+# Utility functions
+from .utils import setup_logging, get_device_info
 
 __version__ = "1.0.0"
 __author__ = "Trixy Development Team"
 
 __all__ = [
+    # Core components
     "BaseTrainer",
     "TrainerConfig", 
     "TrainingState",
-    "ModelFormatHandler",
-    "PTHHandler",
-    "PTHandler", 
-    "ONNXHandler",
-    "MetadataManager",
+    "TrainerConfigManager",
+    "ModelFormat",
     "ModelMetadata",
+    "MetadataManager", 
+    "ModelType",
+    "ModelFormatManager",
+    
+    # Data pipeline
+    "AudioProcessingConfig",
+    "AudioProcessor", 
+    "AudioDataset",
+    
+    # Utils and validation
     "TrainerLogger",
     "ProgressMonitor",
-    "ValidationMetrics"
+    "ValidationMetrics", 
+    "ModelValidator",
+    "ValidationConfig",
+    
+    # Wakeword detection
+    "WakewordTrainer",
+    "create_wakeword_trainer_config",
+    "RepCNN",
+    "ImprovedRepCNN", 
+    "LightweightRepCNN",
+    "create_repcnn_model",
+    
+    # Voice recognition
+    "VoiceRecognitionTrainer",
+    "create_voice_recognition_trainer_config",
+    "ECAPA_TDNN",
+    "TitaNet_S",
+    "SpeakerNet_M",
+    "create_voice_recognition_model",
+    "AngularMarginLoss",
+    "GE2ELoss",
+    
+    # Utilities
+    "setup_logging",
+    "get_device_info"
 ]

+ 7 - 0
trixy_core/events/event_data.py

@@ -155,11 +155,18 @@ class SatelliteRegisteredEventData(TrixyEventData):
 class WakewordReceivedEventData(TrixyEventData):
     """Data for wakeword_received event."""
     wakeword_id: str = field(default="")
+    wakeword_type: str = field(default="")  # "custom", "system_command"
     speaker_info: SpeakerInfo = field(default=None)
     satellite_info: SatelliteInfo = field(default=None)
     volume: float = field(default=0.0)
     confidence: float = 0.0
+    raw_scores: Dict[str, float] = field(default_factory=dict)
+    processing_time_ms: float = 0.0
     audio_buffer_length: float = 0.0  # seconds
+    chunk_id: int = 0
+    features_shape: List[int] = field(default_factory=list)
+    model_name: str = field(default="")
+    temporal_filtered: bool = False
 
 
 @dataclass