AlphaAvatar Framework plugin for realtime multimodal interaction routing
Project description
🎯 AlphaAvatar Interaction Router Plugin
The Interaction Router coordinates real-time perception capabilities inside AlphaAvatar.
🧭 Module Overview
The Router receives shared perception data from PerceptionRuntime and dispatches it through independently managed processors.
Its responsibilities include:
- consuming raw audio, video, screen, and derived perception streams;
- applying perception enrichment such as voice activity detection;
- routing accepted speech into downstream STT and Persona consumers;
- coordinating future multimodal fusion and interaction decisions;
- keeping provider implementations separate from routing logic.
Voice capabilities such as VAD and STT are defined by the AlphaAvatar voice abstraction and implemented by voice plugins. The Router only decides how those capabilities are connected to perception streams.
⚙️ Runtime and Processors
InteractionRouterRuntime manages the lifecycle of multiple RouterProcessorBase implementations.
InteractionRouterRuntime
├── AudioActivityProcessor
├── SpeechTranscriptionProcessor
└── Future processors
The runtime is responsible for:
- starting processors in registration order;
- stopping processors in reverse order;
- rolling back already-started processors when startup fails;
- ensuring processor names are unique.
Each processor owns one independent routing capability:
class RouterProcessorBase:
@property
def name(self) -> str: ...
async def start(self) -> None: ...
async def stop(self) -> None: ...
Processors may consume perception streams, publish derived observations, call injected capabilities, or produce routing decisions.
The default audio flow is:
PerceptionRuntime.audio
↓
AudioActivityProcessor
↓
PerceptionRuntime.speech
↓
SpeechTranscriptionProcessor
↓
Transcription events
🧩 Supported Processors
| Processor | Input | Output | Function |
|---|---|---|---|
AudioActivityProcessor |
audio stream |
speech stream |
Uses the injected VAD capability to detect active speech, preserve pre-roll audio, and publish routed speech frames and completed audio segments. |
SpeechTranscriptionProcessor |
speech stream |
Transcription events | Sends routed speech frames to the injected STT capability and emits interim, final, and error transcription events without blocking perception consumption. |
Planned processors may include multimodal understanding, audio classification, visual event detection, intention routing, and turn-decision processing.
📦 Installation
pip install alpha-avatar-plugins-router
The plugin is loaded through the AlphaAvatar configuration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alpha_avatar_plugins_router-0.6.5.tar.gz.
File metadata
- Download URL: alpha_avatar_plugins_router-0.6.5.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67a7fc6794b35135dd9aaa0950878f9ec7bb15b6eef917e41f19961b6f0d04b8
|
|
| MD5 |
3e4490080bfde2533baf5cdf98d6b326
|
|
| BLAKE2b-256 |
c9fe21de99d3b02d5924089fff97979d577131fc2c4f2677c06e9e2621388609
|
File details
Details for the file alpha_avatar_plugins_router-0.6.5-py3-none-any.whl.
File metadata
- Download URL: alpha_avatar_plugins_router-0.6.5-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d3ecad16f2cd9e0e8b3e3b19b70cd510cafb5bb1206d53acfbeff2e073c4bde
|
|
| MD5 |
3e8b7b4a8863778759252384750eb153
|
|
| BLAKE2b-256 |
44a3c5166dbea3e94e35a4f8e99150eafe1a180824915e07c228840c0b37bf8b
|