26 lines
865 B
Python
26 lines
865 B
Python
"""Head-to-voice mapping for per-head TTS in Dvādaśa."""
|
|
|
|
from fusionagi.schemas.head import HeadId
|
|
|
|
# Map each HeadId to a voice profile id (from VoiceLibrary).
|
|
# In production, create VoiceProfiles and register with VoiceLibrary.
|
|
HEAD_VOICE_MAP: dict[HeadId, str] = {
|
|
HeadId.LOGIC: "voice_logic",
|
|
HeadId.RESEARCH: "voice_research",
|
|
HeadId.SYSTEMS: "voice_systems",
|
|
HeadId.STRATEGY: "voice_strategy",
|
|
HeadId.PRODUCT: "voice_product",
|
|
HeadId.SECURITY: "voice_security",
|
|
HeadId.SAFETY: "voice_safety",
|
|
HeadId.RELIABILITY: "voice_reliability",
|
|
HeadId.COST: "voice_cost",
|
|
HeadId.DATA: "voice_data",
|
|
HeadId.DEVEX: "voice_devex",
|
|
HeadId.WITNESS: "voice_witness",
|
|
}
|
|
|
|
|
|
def get_voice_id_for_head(head_id: HeadId) -> str:
|
|
"""Return voice profile id for a head."""
|
|
return HEAD_VOICE_MAP.get(head_id, "voice_default")
|