feat: добавить Audio Level monitoring — RMS громкости микрофона в WebSocket
- settings.py: audio_level_enabled, audio_level_interval_ms
- satellite.py: _calculate_rms() — вычисление RMS (0.0-1.0)
- satellite.py: _send_audio_level() — фоновая задача отправки
- satellite.py: _last_mic_level, _audio_level_task атрибуты
- satellite.py: интеграция в _start() / _stop()
- satellite.py: вычисление RMS в event_from_mic() для всех классов
- __main__.py: CLI --audio-level-enabled, --audio-level-interval-ms
Событие в WebSocket (10 раз в секунду):
{type: audio-level, data: {level: 0.42}}
This commit is contained in:
@@ -188,6 +188,13 @@ class EventSettings(ServiceSettings):
|
||||
websocket_port: int = 8675
|
||||
"""Port для WebSocket сервера."""
|
||||
|
||||
# Audio level monitoring
|
||||
audio_level_enabled: bool = False
|
||||
"""True если нужно вычислять и отправлять RMS громкость микрофона."""
|
||||
|
||||
audio_level_interval_ms: int = 100
|
||||
"""Интервал отправки audio-level событий (миллисекунды)."""
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class TimerSettings:
|
||||
|
||||
Reference in New Issue
Block a user