🧬 AlphaAvatar Persona Plugin
The Persona Plugin provides user identity recognition and profile management for AlphaAvatar.
🧩 Module Overview
The plugin is responsible for:
- identifying users through face and speaker embeddings;
- associating temporary face, speaker, and session identities with stable users;
- maintaining user profile attributes;
- exposing the active user persona to the Avatar Runtime;
- publishing identity-related annotations into
PerceptionRuntime.
Persona processing is divided into independent paths:
Visual Observation
└── → Face Recognition
Speech Observation
└── → Speaker Recognition
Conversation Context
└── → Persona Profile
The resulting identity and profile information can be used by Memory, prompting, retrieval, and other runtime modules.
🔍 Identity Processing
👁️ Face Recognition
The face stream consumes visual observations from PerceptionRuntime.
Video / Screen Observation
↓
PerceptionRuntime
↓
FaceStreamWrapper
↓
FaceAnalysisRunner
↓
Face Embedding and Attributes
↓
User Identity Match
Face processing:
- samples frames independently from the shared visual stream;
- performs face detection and embedding extraction;
- matches embeddings against known user profiles;
- updates face attributes and identity associations;
- publishes face annotations back to the original observation;
- optionally renders face bounding boxes into the annotated payload view.
Raw video observations remain unchanged. Rendered overlays are stored in the separate annotated payload view.
🎤 Speaker Recognition
The speaker stream consumes routed speech observations rather than subscribing directly to LiveKit audio.
PerceptionRuntime.audio
↓
AudioActivityProcessor
↓
PerceptionRuntime.speech
↓
Speaker Stream
↓
Speaker Embedding and Match
Speaker processing uses rolling speech windows to:
- create speaker embeddings;
- match speech against known users;
- update voice identity attributes;
- associate temporary speaker identities with stable user profiles.
Raw audio frames are used only during runtime processing and are not stored as persona profiles.
🧩 Supported Components
| Component | Input | Output | Function |
|---|---|---|---|
FaceStreamWrapper |
video and screen observations |
Face annotations and user matches | Detects faces, generates embeddings, matches users, and updates face attributes. |
SpeakerStreamWrapper |
Routed speech observations |
Speaker matches and voice attributes | Builds rolling speech windows, generates speaker embeddings, and resolves voice identities. |
| Persona profile runtime | Conversation and identity context | Active persona content | Maintains user profile information and exposes it to the Avatar Runtime. |
| Identity alias handling | Temporary and stable identity IDs | Identity relationships | Links session, face, speaker, and user identities across runtime modules. |
Persona profiles may contain:
- stable user identifiers;
- face and speaker embeddings;
- face and voice attributes;
- profile text;
- temporary identity aliases;
- session and runtime metadata.
🔗 Module Relationships
PerceptionRuntime
├── → Face observations
└── → Speech observations
Router Plugin
└── → Routed speech stream
Persona Plugin
├── → Active user identity
├── → Persona prompt context
├── → Face and speaker annotations
└── → Identity aliases
Memory Plugin
└── → User ownership and identity-aware retrieval
📦 Installation
pip install alpha-avatar-plugins-persona
The plugin is loaded through the AlphaAvatar configuration.
Metadata
Release files for alpha-avatar-plugins-persona 0.6.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| alpha_avatar_plugins_persona-0.6.7.tar.gz | 33.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| alpha_avatar_plugins_persona-0.6.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.6 kB
Release files / alpha_avatar_plugins_persona-0.6.7.tar.gz
| Download URL | alpha_avatar_plugins_persona-0.6.7.tar.gz |
|---|---|
| Size | 33.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
713146eff0dd49462b02d85819546970712a1e0187bf2884f888a1f1b2431f24
|
|
BLAKE2b-256 checksum How to use checksums |
7b99e0b8477e604efab1645d75060fb244fe1fd74c7ce0830d49205926d42f69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / alpha_avatar_plugins_persona-0.6.7-py3-none-any.whl
| Download URL | alpha_avatar_plugins_persona-0.6.7-py3-none-any.whl |
|---|---|
| Size | 47.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f126d5d0297227163d821edcf878053d0c9cb0c493594534e6a54ed43cff77c3
|
|
BLAKE2b-256 checksum How to use checksums |
52a949719d26e69fc5a5ed6f28e85b4518764736794affbaa7e252e2b0a55bc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Security for alpha-avatar-plugins-persona 0.6.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.