introduce output transport audio mixers

This commit is contained in:
Aleix Conchillo Flaqué
2024-11-01 23:04:02 -07:00
parent 4455b2a428
commit 81c476dd4c
8 changed files with 289 additions and 24 deletions

View File

@@ -5,7 +5,7 @@
#
from dataclasses import dataclass, field
from typing import Any, Dict, List, Optional, Tuple
from typing import Any, List, Mapping, Optional, Tuple
from pipecat.audio.vad.vad_analyzer import VADParams
from pipecat.clocks.base_clock import BaseClock
@@ -557,7 +557,7 @@ class TTSStoppedFrame(ControlFrame):
class ServiceUpdateSettingsFrame(ControlFrame):
"""A control frame containing a request to update service settings."""
settings: Dict[str, Any]
settings: Mapping[str, Any]
@dataclass
@@ -582,3 +582,24 @@ class VADParamsUpdateFrame(ControlFrame):
"""
params: VADParams
@dataclass
class MixerControlFrame(ControlFrame):
"""Base control frame for other mixer frames."""
pass
@dataclass
class MixerUpdateSettingsFrame(MixerControlFrame):
"""Control frame to update mixer settings."""
settings: Mapping[str, Any]
@dataclass
class MixerEnableFrame(MixerControlFrame):
"""Control frame to enable or disable the mixer at runtime."""
enable: bool