Spaces:
Runtime error
Runtime error
# This class stores Polly voice data. Specifically, the class stores several records containing | |
# language, lang_code, gender, voice_id and engine. The class also has a method to return the | |
# voice_id, lang_code and engine given a language and gender. | |
NEURAL_ENGINE = "neural" | |
STANDARD_ENGINE = "standard" | |
class PollyVoiceData: | |
def get_voice(self, language, gender): | |
for voice in self.voice_data: | |
if voice['language'] == language and voice['gender'] == gender: | |
if voice['neural'] == 'Yes': | |
return voice['voice_id'], voice['lang_code'], NEURAL_ENGINE | |
for voice in self.voice_data: | |
if voice['language'] == language and voice['gender'] == gender: | |
if voice['standard'] == 'Yes': | |
return voice['voice_id'], voice['lang_code'], STANDARD_ENGINE | |
return None, None, None | |
def get_whisper_lang_code(self, language): | |
for voice in self.voice_data: | |
if voice['language'] == language: | |
return voice['whisper_lang_code'] | |
return "en" | |
def __init__(self): | |
self.voice_data = [ | |
{'language': 'Arabic', | |
'lang_code': 'arb', | |
'whisper_lang_code': 'ar', | |
'voice_id': 'Zeina', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Arabic (Gulf)', | |
'lang_code': 'ar-AE', | |
'whisper_lang_code': 'ar', | |
'voice_id': 'Hala', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Catalan', | |
'lang_code': 'ca-ES', | |
'whisper_lang_code': 'ca', | |
'voice_id': 'Arlet', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Chinese (Cantonese)', | |
'lang_code': 'yue-CN', | |
'whisper_lang_code': 'zh', | |
'voice_id': 'Hiujin', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Chinese (Mandarin)', | |
'lang_code': 'cmn-CN', | |
'whisper_lang_code': 'zh', | |
'voice_id': 'Zhiyu', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Danish', | |
'lang_code': 'da-DK', | |
'whisper_lang_code': 'da', | |
'voice_id': 'Naja', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Danish', | |
'lang_code': 'da-DK', | |
'whisper_lang_code': 'da', | |
'voice_id': 'Mads', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Dutch', | |
'lang_code': 'nl-NL', | |
'whisper_lang_code': 'nl', | |
'voice_id': 'Laura', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Dutch', | |
'lang_code': 'nl-NL', | |
'whisper_lang_code': 'nl', | |
'voice_id': 'Lotte', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Dutch', | |
'lang_code': 'nl-NL', | |
'whisper_lang_code': 'nl', | |
'voice_id': 'Ruben', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'English (Australian)', | |
'lang_code': 'en-AU', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Nicole', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'English (Australian)', | |
'lang_code': 'en-AU', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Olivia', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'English (Australian)', | |
'lang_code': 'en-AU', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Russell', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'English (British)', | |
'lang_code': 'en-GB', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Amy', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (British)', | |
'lang_code': 'en-GB', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Emma', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (British)', | |
'lang_code': 'en-GB', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Brian', | |
'gender': 'Male', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (British)', | |
'lang_code': 'en-GB', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Arthur', | |
'gender': 'Male', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'English (Indian)', | |
'lang_code': 'en-IN', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Aditi', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'English (Indian)', | |
'lang_code': 'en-IN', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Raveena', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'English (Indian)', | |
'lang_code': 'en-IN', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Kajal', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'English (New Zealand)', | |
'lang_code': 'en-NZ', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Aria', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'English (South African)', | |
'lang_code': 'en-ZA', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Ayanda', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'English (US)', | |
'lang_code': 'en-US', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Ivy', | |
'gender': 'Female (child)', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (US)', | |
'lang_code': 'en-US', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Joanna', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (US)', | |
'lang_code': 'en-US', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Kendra', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (US)', | |
'lang_code': 'en-US', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Kimberly', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (US)', | |
'lang_code': 'en-US', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Salli', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (US)', | |
'lang_code': 'en-US', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Joey', | |
'gender': 'Male', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (US)', | |
'lang_code': 'en-US', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Justin', | |
'gender': 'Male (child)', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (US)', | |
'lang_code': 'en-US', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Kevin', | |
'gender': 'Male (child)', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'English (US)', | |
'lang_code': 'en-US', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Matthew', | |
'gender': 'Male', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'English (Welsh)', | |
'lang_code': 'en-GB-WLS', | |
'whisper_lang_code': 'en', | |
'voice_id': 'Geraint', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Finnish', | |
'lang_code': 'fi-FI', | |
'whisper_lang_code': 'fi', | |
'voice_id': 'Suvi', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'French', | |
'lang_code': 'fr-FR', | |
'whisper_lang_code': 'fr', | |
'voice_id': 'Celine', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'French', | |
'lang_code': 'fr-FR', | |
'whisper_lang_code': 'fr', | |
'voice_id': 'Lea', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'French', | |
'lang_code': 'fr-FR', | |
'whisper_lang_code': 'fr', | |
'voice_id': 'Mathieu', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'French (Canadian)', | |
'lang_code': 'fr-CA', | |
'whisper_lang_code': 'fr', | |
'voice_id': 'Chantal', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'French (Canadian)', | |
'lang_code': 'fr-CA', | |
'whisper_lang_code': 'fr', | |
'voice_id': 'Gabrielle', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'French (Canadian)', | |
'lang_code': 'fr-CA', | |
'whisper_lang_code': 'fr', | |
'voice_id': 'Liam', | |
'gender': 'Male', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'German', | |
'lang_code': 'de-DE', | |
'whisper_lang_code': 'de', | |
'voice_id': 'Marlene', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'German', | |
'lang_code': 'de-DE', | |
'whisper_lang_code': 'de', | |
'voice_id': 'Vicki', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'German', | |
'lang_code': 'de-DE', | |
'whisper_lang_code': 'de', | |
'voice_id': 'Hans', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'German', | |
'lang_code': 'de-DE', | |
'whisper_lang_code': 'de', | |
'voice_id': 'Daniel', | |
'gender': 'Male', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'German (Austrian)', | |
'lang_code': 'de-AT', | |
'whisper_lang_code': 'de', | |
'voice_id': 'Hannah', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Hindi', | |
'lang_code': 'hi-IN', | |
'whisper_lang_code': 'hi', | |
'voice_id': 'Aditi', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Hindi', | |
'lang_code': 'hi-IN', | |
'whisper_lang_code': 'hi', | |
'voice_id': 'Kajal', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Icelandic', | |
'lang_code': 'is-IS', | |
'whisper_lang_code': 'is', | |
'voice_id': 'Dora', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Icelandic', | |
'lang_code': 'is-IS', | |
'whisper_lang_code': 'is', | |
'voice_id': 'Karl', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Italian', | |
'lang_code': 'it-IT', | |
'whisper_lang_code': 'it', | |
'voice_id': 'Carla', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Italian', | |
'lang_code': 'it-IT', | |
'whisper_lang_code': 'it', | |
'voice_id': 'Bianca', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'Japanese', | |
'lang_code': 'ja-JP', | |
'whisper_lang_code': 'ja', | |
'voice_id': 'Mizuki', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Japanese', | |
'lang_code': 'ja-JP', | |
'whisper_lang_code': 'ja', | |
'voice_id': 'Takumi', | |
'gender': 'Male', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'Korean', | |
'lang_code': 'ko-KR', | |
'whisper_lang_code': 'ko', | |
'voice_id': 'Seoyeon', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'Norwegian', | |
'lang_code': 'nb-NO', | |
'whisper_lang_code': 'no', | |
'voice_id': 'Liv', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Norwegian', | |
'lang_code': 'nb-NO', | |
'whisper_lang_code': 'no', | |
'voice_id': 'Ida', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Polish', | |
'lang_code': 'pl-PL', | |
'whisper_lang_code': 'pl', | |
'voice_id': 'Ewa', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Polish', | |
'lang_code': 'pl-PL', | |
'whisper_lang_code': 'pl', | |
'voice_id': 'Maja', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Polish', | |
'lang_code': 'pl-PL', | |
'whisper_lang_code': 'pl', | |
'voice_id': 'Jacek', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Polish', | |
'lang_code': 'pl-PL', | |
'whisper_lang_code': 'pl', | |
'voice_id': 'Jan', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Polish', | |
'lang_code': 'pl-PL', | |
'whisper_lang_code': 'pl', | |
'voice_id': 'Ola', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Portuguese (Brazilian)', | |
'lang_code': 'pt-BR', | |
'whisper_lang_code': 'pt', | |
'voice_id': 'Camila', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'Portuguese (Brazilian)', | |
'lang_code': 'pt-BR', | |
'whisper_lang_code': 'pt', | |
'voice_id': 'Vitoria', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'Portuguese (Brazilian)', | |
'lang_code': 'pt-BR', | |
'whisper_lang_code': 'pt', | |
'voice_id': 'Ricardo', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Portuguese (European)', | |
'lang_code': 'pt-PT', | |
'whisper_lang_code': 'pt', | |
'voice_id': 'Ines', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'Portuguese (European)', | |
'lang_code': 'pt-PT', | |
'whisper_lang_code': 'pt', | |
'voice_id': 'Cristiano', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Romanian', | |
'lang_code': 'ro-RO', | |
'whisper_lang_code': 'ro', | |
'voice_id': 'Carmen', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Russian', | |
'lang_code': 'ru-RU', | |
'whisper_lang_code': 'ru', | |
'voice_id': 'Tatyana', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Russian', | |
'lang_code': 'ru-RU', | |
'whisper_lang_code': 'ru', | |
'voice_id': 'Maxim', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Spanish (European)', | |
'lang_code': 'es-ES', | |
'whisper_lang_code': 'es', | |
'voice_id': 'Conchita', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Spanish (European)', | |
'lang_code': 'es-ES', | |
'whisper_lang_code': 'es', | |
'voice_id': 'Lucia', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'Spanish (European)', | |
'lang_code': 'es-ES', | |
'whisper_lang_code': 'es', | |
'voice_id': 'Enrique', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Spanish (Mexican)', | |
'lang_code': 'es-MX', | |
'whisper_lang_code': 'es', | |
'voice_id': 'Mia', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'Spanish (US)', | |
'lang_code': 'es-US', | |
'whisper_lang_code': 'es', | |
'voice_id': 'Lupe', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'Yes'}, | |
{'language': 'Spanish (US)', | |
'lang_code': 'es-US', | |
'whisper_lang_code': 'es', | |
'voice_id': 'Penelope', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Spanish (US)', | |
'lang_code': 'es-US', | |
'whisper_lang_code': 'es', | |
'voice_id': 'Miguel', | |
'gender': 'Male', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Spanish (US)', | |
'lang_code': 'es-US', | |
'whisper_lang_code': 'es', | |
'voice_id': 'Pedro', | |
'gender': 'Male', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Swedish', | |
'lang_code': 'sv-SE', | |
'whisper_lang_code': 'sv', | |
'voice_id': 'Astrid', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Swedish', | |
'lang_code': 'sv-SE', | |
'whisper_lang_code': 'sv', | |
'voice_id': 'Elin', | |
'gender': 'Female', | |
'neural': 'Yes', | |
'standard': 'No'}, | |
{'language': 'Turkish', | |
'lang_code': 'tr-TR', | |
'whisper_lang_code': 'tr', | |
'voice_id': 'Filiz', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'}, | |
{'language': 'Welsh', | |
'lang_code': 'cy-GB', | |
'whisper_lang_code': 'cy', | |
'voice_id': 'Gwyneth', | |
'gender': 'Female', | |
'neural': 'No', | |
'standard': 'Yes'} | |
] | |
# Run from the command-line | |
if __name__ == '__main__': | |
polly_voice_data = PollyVoiceData() | |
voice_id, language_code, engine = polly_voice_data.get_voice('English (US)', 'Male') | |
print('English (US)', 'Male', voice_id, language_code, engine) | |
voice_id, language_code, engine = polly_voice_data.get_voice('English (US)', 'Female') | |
print('English (US)', 'Female', voice_id, language_code, engine) | |
voice_id, language_code, engine = polly_voice_data.get_voice('French', 'Female') | |
print('French', 'Female', voice_id, language_code, engine) | |
voice_id, language_code, engine = polly_voice_data.get_voice('French', 'Male') | |
print('French', 'Male', voice_id, language_code, engine) | |
voice_id, language_code, engine = polly_voice_data.get_voice('Japanese', 'Female') | |
print('Japanese', 'Female', voice_id, language_code, engine) | |
voice_id, language_code, engine = polly_voice_data.get_voice('Japanese', 'Male') | |
print('Japanese', 'Male', voice_id, language_code, engine) | |
voice_id, language_code, engine = polly_voice_data.get_voice('Hindi', 'Female') | |
print('Hindi', 'Female', voice_id, language_code, engine) | |
voice_id, language_code, engine = polly_voice_data.get_voice('Hindi', 'Male') | |
print('Hindi', 'Male', voice_id, language_code, engine) | |
whisper_lang_code = polly_voice_data.get_whisper_lang_code('English (US)') | |
print('English (US) whisper_lang_code:', whisper_lang_code) | |
whisper_lang_code = polly_voice_data.get_whisper_lang_code('Chinese (Mandarin)') | |
print('Chinese (Mandarin) whisper_lang_code:', whisper_lang_code) | |
whisper_lang_code = polly_voice_data.get_whisper_lang_code('Norwegian') | |
print('Norwegian whisper_lang_code:', whisper_lang_code) | |
whisper_lang_code = polly_voice_data.get_whisper_lang_code('Dutch') | |
print('Dutch whisper_lang_code:', whisper_lang_code) | |
whisper_lang_code = polly_voice_data.get_whisper_lang_code('Foo') | |
print('Foo whisper_lang_code:', whisper_lang_code) | |