| |
| |
| |
|
|
| 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'} |
| ] |
|
|
|
|
| |
| 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) |
|
|
|
|
|
|