diff --git a/scripts/download_diverse_voices.py b/scripts/download_diverse_voices.py index 3b24fe2..0c54a8f 100644 --- a/scripts/download_diverse_voices.py +++ b/scripts/download_diverse_voices.py @@ -24,62 +24,62 @@ except ImportError: print("Install required libraries: pip install datasets soundfile") # LibriSpeech test-clean speaker metadata -# Curated for voice diversity - different genders, tones, pacing +# Gender verified against official SPEAKERS.TXT from OpenSLR # Format: speaker_id: (gender, description) SPEAKERS = { - # Female speakers (11) - "1089": ("female", "neutral, balanced - clear professional delivery"), - "1188": ("female", "warm, friendly - approachable delivery"), + # Female speakers (11) - verified from SPEAKERS.TXT "1221": ("female", "expressive, storyteller - engaging narration"), - "1320": ("female", "soft, gentle - calm and soothing"), + "1284": ("female", "clear, measured - precise enunciation"), + "1580": ("female", "clear narrator - smooth reading style"), + "2094": ("female", "warm, rich - resonant tone"), "3570": ("female", "bright, energetic - lively and upbeat"), "3575": ("female", "calm, neutral - steady and even"), "4446": ("female", "mature, authoritative - confident tone"), "4507": ("female", "young, clear - crisp enunciation"), + "4970": ("female", "smooth, polished - announcer style"), "5142": ("female", "warm, conversational - natural flow"), "6829": ("female", "crisp, articulate - precise diction"), - "6930": ("female", "smooth, polished - radio-style delivery"), - # Male speakers (10) - "1284": ("male", "clear, measured - precise enunciation"), - "1580": ("male", "clear narrator - smooth reading style"), - "2094": ("male", "warm baritone - rich and resonant"), + # Male speakers (10) - verified from SPEAKERS.TXT + "1089": ("male", "neutral, balanced - clear professional delivery"), + "1188": ("male", "warm, friendly - approachable delivery"), + "1320": ("male", "soft, gentle - calm and soothing"), "2830": ("male", "young, energetic - dynamic delivery"), "4077": ("male", "mature, professor - thoughtful pacing"), - "4970": ("male", "smooth announcer - polished delivery"), "5105": ("male", "neutral, clear - straightforward style"), "5639": ("male", "deep, dramatic - authoritative tone"), + "6930": ("male", "smooth, polished - radio-style delivery"), "7021": ("male", "light, conversational - casual tone"), "7176": ("male", "warm storyteller - engaging narrative"), } # 21 voices: gendered names that match the speaker -# Female names for female speakers, male names for male speakers +# Gender verified against LibriSpeech SPEAKERS.TXT VOICE_MAP = { - # Female voices (11) - "aria": "1089", # F - neutral, balanced - "clara": "1188", # F - warm, friendly - "elena": "1221", # F - expressive, storyteller - "grace": "1320", # F - soft, gentle + # Female voices (11) - all verified female speakers + "aria": "1221", # F - expressive, storyteller + "clara": "1284", # F - clear, measured + "elena": "1580", # F - clear narrator + "grace": "2094", # F - warm, rich "hazel": "3575", # F - calm, neutral "iris": "4507", # F - young, clear "luna": "3570", # F - bright, energetic "maya": "5142", # F - warm, conversational "ruby": "4446", # F - mature, authoritative "sage": "6829", # F - crisp, articulate - "sofia": "6930", # F - smooth, polished + "sofia": "4970", # F - smooth, polished - # Male voices (10) + # Male voices (10) - all verified male speakers "atlas": "5639", # M - deep, dramatic - "caleb": "1284", # M - clear, measured + "caleb": "1089", # M - neutral, balanced "felix": "7021", # M - light, conversational "hugo": "7176", # M - warm storyteller "jasper": "4077", # M - mature, professor "kai": "2830", # M - young, energetic - "leo": "4970", # M - smooth announcer - "marcus": "2094", # M - warm baritone + "leo": "6930", # M - smooth, polished + "marcus": "1188", # M - warm, friendly "owen": "5105", # M - neutral, clear - "theo": "1580", # M - clear narrator + "theo": "1320", # M - soft, gentle }