← back to Dw Boardroom V2

src/agents/voices.ts

80 lines

// ═══════════════════════════════════════════════
// DW Boardroom V2 — Neural TTS Voice Map
// Microsoft Edge Neural Voices via edge-tts
// ═══════════════════════════════════════════════

export const NEURAL_VOICES: Record<string, string> = {
  // Executives — authoritative, distinct
  'ceo':     'en-US-AndrewNeural',
  'cfo':     'en-GB-RyanNeural',
  'coo':     'en-US-ChristopherNeural',
  'cto':     'en-GB-ThomasNeural',
  'vp-ops':  'en-AU-WilliamMultilingualNeural',
  // Operations
  'max':     'en-US-SteffanNeural',
  'hawk':    'en-US-RogerNeural',
  'clay':    'en-US-BrianNeural',
  'rex':     'en-IE-ConnorNeural',
  'steve':   'en-US-JennyNeural',
  'vince':   'en-US-EricNeural',
  'link':    'en-US-BrianMultilingualNeural',
  'abby':    'en-US-JennyNeural',
  // Commerce
  'shane':   'en-US-AndrewMultilingualNeural',
  'clyde':   'en-US-ChristopherNeural',
  'dean':    'en-GB-ThomasNeural',
  'blake':   'en-US-RogerNeural',
  // Finance
  'grant':   'en-US-SteffanNeural',
  'nash':    'en-IE-ConnorNeural',
  'hugh':    'en-GB-RyanNeural',
  'annie':   'en-US-EmmaNeural',
  // Legal
  'frank':   'en-US-EricNeural',
  // Marketing
  'bob':     'en-US-GuyNeural',
  'connie':  'en-US-AvaNeural',
  'sage':    'en-US-AriaNeural',
  'faye':    'en-US-MichelleNeural',
  // Catalogs
  'brock':   'en-US-BrianNeural',
  'graham':  'en-GB-RyanNeural',
  'york':    'en-US-AndrewNeural',
  'ralph':   'en-US-ChristopherNeural',
  'jade':    'en-GB-LibbyNeural',
  'tate':    'en-AU-WilliamMultilingualNeural',
  'sasha':   'en-US-AriaNeural',
  'knox':    'en-US-SteffanNeural',
  'cleo':    'en-GB-LibbyNeural',
  'elise':   'en-US-MichelleNeural',
  'artie':   'en-US-GuyNeural',
  'kira':    'en-US-EmmaNeural',
  'maya':    'en-US-AvaNeural',
  'pj':      'en-US-RogerNeural',
  'ines':    'en-US-JennyNeural',
  'beau':    'en-US-BrianNeural',
  'scout':   'en-US-EricNeural',
  'atlas':   'en-US-AndrewNeural',
  'will':    'en-GB-ThomasNeural',
  // Data & Comms
  'nate':    'en-US-BrianNeural',
  'ross':    'en-US-AndrewMultilingualNeural',
  'chet':    'en-IE-ConnorNeural',
  'ken':     'en-US-RogerNeural',
  'george':  'en-US-SteffanNeural',
  'iris':    'en-US-AvaNeural',
  // Imagery
  'drew':    'en-US-GuyNeural',
  'chase':   'en-US-SteffanNeural',
  'clark':   'en-US-EricNeural',
  // System defaults
  'user':       'en-US-AndrewNeural',
  'boardroom':  'en-US-AvaMultilingualNeural',
  'system':     'en-US-AvaMultilingualNeural',
  'default':    'en-US-AriaNeural',
};

export function getVoice(agentId: string): string {
  return NEURAL_VOICES[agentId] || NEURAL_VOICES['default'];
}