export type VoiceCatalogEntry = { id: string; name: string; descriptor: string; language: 'am' | 'om'; gender: 'female' | 'male'; style: string; sample: string; }; const CDN_BASE = 'https://cdn.addisassistant.com/voice-previews'; /** * Playable documentation snapshot of the production Voice 2 catalog. * Live application availability must still be read through `voices.list()`. */ export const voiceCatalog = [ { id: 'am-hamen', name: 'Hamen', descriptor: 'Warm conversational delivery', language: 'am', gender: 'female', style: 'Conversational', sample: `${CDN_BASE}/am-hamen-v4.mp3`, }, { id: 'am-yohanes-calm', name: 'Yohannes', descriptor: 'Low-key reflective tone', language: 'am', gender: 'male', style: 'Narration', sample: `${CDN_BASE}/am-yohanes-calm-v4.mp3`, }, { id: 'am-tesfa', name: 'Tesfa', descriptor: 'Confident, forward-leaning read', language: 'am', gender: 'male', style: 'Commercial', sample: `${CDN_BASE}/am-tesfa-v4.mp3`, }, { id: 'am-muaz', name: 'Muaz', descriptor: 'Clear expressive delivery', language: 'am', gender: 'male', style: 'Commercial', sample: `${CDN_BASE}/am-muaz-v4.mp3`, }, { id: 'am-roba', name: 'Roba', descriptor: 'Energetic bright tone', language: 'am', gender: 'male', style: 'Commercial', sample: `${CDN_BASE}/am-roba-v4.mp3`, }, { id: 'am-nejat', name: 'Nejat', descriptor: 'Smooth measured elegance', language: 'am', gender: 'female', style: 'Conversational', sample: `${CDN_BASE}/am-nejat-v4.mp3`, }, { id: 'am-loza', name: 'Loza', descriptor: 'Smooth polished narration', language: 'am', gender: 'female', style: 'Narration', sample: `${CDN_BASE}/am-loza-v5.mp3`, }, { id: 'am-nahom', name: 'Nahom', descriptor: 'Deep calm resonance', language: 'am', gender: 'male', style: 'Narration', sample: `${CDN_BASE}/am-nahom-v4.mp3`, }, { id: 'am-simon', name: 'Simon', descriptor: 'Calm storytelling voice', language: 'am', gender: 'male', style: 'Commercial', sample: `${CDN_BASE}/am-simon-v4.mp3`, }, { id: 'am-amanuel', name: 'Amanuel', descriptor: 'Calm soothing magnetic narrative', language: 'am', gender: 'male', style: 'Narration', sample: `${CDN_BASE}/am-amanuel-v4.mp3`, }, { id: 'am-tewodros', name: 'Tewodros', descriptor: 'Energetic commercial promotional delivery', language: 'am', gender: 'male', style: 'Commercial', sample: `${CDN_BASE}/am-tewodros-v3.mp3`, }, { id: 'am-kaleb', name: 'Kaleb', descriptor: 'Immersive suspenseful storytelling', language: 'am', gender: 'male', style: 'Narration', sample: `${CDN_BASE}/am-kaleb-v4.mp3`, }, { id: 'am-dawit', name: 'Dawit', descriptor: 'Reflective soothing historical narration', language: 'am', gender: 'male', style: 'Narration', sample: `${CDN_BASE}/am-dawit-v4.mp3`, }, { id: 'am-meron', name: 'Meron', descriptor: 'Dramatic suspenseful storytelling', language: 'am', gender: 'female', style: 'Narration', sample: `${CDN_BASE}/am-meron-v4.mp3`, }, { id: 'am-makda', name: 'Makda', descriptor: 'Professional informative journalistic delivery', language: 'am', gender: 'female', style: 'News', sample: `${CDN_BASE}/am-makda-v3.mp3`, }, { id: 'am-feven', name: 'Feven', descriptor: 'Empathetic motivational conversational delivery', language: 'am', gender: 'female', style: 'Conversational', sample: `${CDN_BASE}/am-feven-v4.mp3`, }, { id: 'am-melat', name: 'Melat', descriptor: 'Authentic relatable conversational delivery', language: 'am', gender: 'female', style: 'Conversational', sample: `${CDN_BASE}/am-melat-v4.mp3`, }, { id: 'am-dibora', name: 'Dibora', descriptor: 'Educational coaching empowering delivery', language: 'am', gender: 'female', style: 'Educational', sample: `${CDN_BASE}/am-dibora-v4.mp3`, }, { id: 'am-sara', name: 'Sara', descriptor: 'Motherly warm inspiring delivery', language: 'am', gender: 'female', style: 'Narration', sample: `${CDN_BASE}/am-sara-v4.mp3`, }, { id: 'om-bikila', name: 'Bikila', descriptor: 'Serious informative journalist', language: 'om', gender: 'male', style: 'News', sample: `${CDN_BASE}/om-bikila-v3.mp3`, }, { id: 'om-ayyaantuu', name: 'Ayyaantuu', descriptor: 'Serious informative news anchor', language: 'om', gender: 'female', style: 'News', sample: `${CDN_BASE}/om-ayyaantuu-v3.mp3`, }, { id: 'om-leensaa', name: 'Leensaa', descriptor: 'Conversational welcoming podcast host', language: 'om', gender: 'female', style: 'Conversational', sample: `${CDN_BASE}/om-leensaa-v3.mp3`, }, { id: 'om-hawi', name: 'Hawi', descriptor: 'Educational informative engaging delivery', language: 'om', gender: 'female', style: 'Educational', sample: `${CDN_BASE}/om-hawi-v3.mp3`, }, { id: 'om-diriba', name: 'Diriba', descriptor: 'Deep calm resonance', language: 'om', gender: 'male', style: 'Narration', sample: `${CDN_BASE}/om-diriba-v3.mp3`, }, { id: 'om-obse', name: 'Obse', descriptor: 'Smooth polished narration', language: 'om', gender: 'female', style: 'Narration', sample: `${CDN_BASE}/om-obse-v3.mp3`, }, { id: 'om-leta', name: 'Leta', descriptor: 'Low-key reflective tone', language: 'om', gender: 'male', style: 'Narration', sample: `${CDN_BASE}/om-leta-v3.mp3`, }, { id: 'om-ebba', name: 'Ebba', descriptor: 'Energetic commercial promotional delivery', language: 'om', gender: 'male', style: 'Commercial', sample: `${CDN_BASE}/om-ebba-v3.mp3`, }, { id: 'om-chala', name: 'Chala', descriptor: 'Calm storytelling promotional voice', language: 'om', gender: 'male', style: 'Commercial', sample: `${CDN_BASE}/om-chala-v3.mp3`, }, ] satisfies VoiceCatalogEntry[];