| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- # -*- coding: utf-8 -*-
- """
- Standalone-Konfiguration.
- Kombiniert Server- und Client-Funktionalität für den Einzelbetrieb.
- """
- from dataclasses import dataclass, field
- from trixy_core.config.datasets.server import (
- AudioConfig,
- VoiceRecognitionConfig,
- ConversationConfig,
- PluginConfig,
- LoggingConfig,
- SecurityConfig,
- STTCorrectionConfig,
- EmailServiceConfig,
- )
- from trixy_core.config.datasets.client import ClientAudioConfig, ClientWakewordConfig
- @dataclass
- class SyncConfig:
- """Synchronisierungs-Konfiguration fuer Standalone."""
- enabled: bool = False
- server_host: str = ""
- server_port: int = 2101
- probe_interval_seconds: float = 30.0
- sync_interval_seconds: float = 300.0
- connect_timeout_seconds: float = 5.0
- sync_data_directory: str = "./sync_data"
- @dataclass
- class StandaloneAudioConfig:
- """Kombinierte Audio-Konfiguration für Standalone."""
- # Sprach-Audio
- sample_rate: int = 16000
- channels: int = 1
- bit_depth: int = 16
- # Musik-Wiedergabe
- music_sample_rate: int = 44100 # 44.1kHz - Standard für die meisten Geräte
- music_channels: int = 2
- music_bit_depth: int = 16
- # Geräte
- input_device: str | None = None
- output_device: str | None = None
- buffer_size: int = 1024
- @dataclass
- class StandaloneConfig:
- """Haupt-Standalone-Konfiguration."""
- audio: StandaloneAudioConfig = field(default_factory=StandaloneAudioConfig)
- security: SecurityConfig = field(default_factory=SecurityConfig)
- wakeword: ClientWakewordConfig = field(default_factory=ClientWakewordConfig)
- voice_recognition: VoiceRecognitionConfig = field(default_factory=VoiceRecognitionConfig)
- conversation: ConversationConfig = field(default_factory=ConversationConfig)
- plugins: PluginConfig = field(default_factory=PluginConfig)
- logging: LoggingConfig = field(default_factory=LoggingConfig)
- assets_directory: str = "assets"
- models_directory: str = "models"
- profile: str = "default"
- stt_correction: STTCorrectionConfig = field(default_factory=STTCorrectionConfig)
- sync: SyncConfig = field(default_factory=SyncConfig)
- email: EmailServiceConfig = field(default_factory=EmailServiceConfig)
- config_port: int = 2105
- room: str = "standalone"
- alias: str = "Trixy"
|