Polly / Client / describe_voices

describe_voices#

Polly.Client.describe_voices(**kwargs)#

Returns the list of voices that are available for use when requesting speech synthesis. Each voice speaks a specified language, is either male or female, and is identified by an ID, which is the ASCII version of the voice name.

When synthesizing speech ( SynthesizeSpeech ), you provide the voice ID for the voice you want from the list of voices returned by DescribeVoices.

For example, you want your news reader application to read news in a specific language, but giving a user the option to choose the voice. Using the DescribeVoices operation you can provide the user with a list of available voices to select from.

You can optionally specify a language code to filter the available voices. For example, if you specify en-US, the operation returns a list of all available US English voices.

This operation requires permissions to perform the polly:DescribeVoices action.

See also: AWS API Documentation

Request Syntax

response = client.describe_voices(
    Engine='standard'|'neural'|'long-form',
    LanguageCode='arb'|'cmn-CN'|'cy-GB'|'da-DK'|'de-DE'|'en-AU'|'en-GB'|'en-GB-WLS'|'en-IN'|'en-US'|'es-ES'|'es-MX'|'es-US'|'fr-CA'|'fr-FR'|'is-IS'|'it-IT'|'ja-JP'|'hi-IN'|'ko-KR'|'nb-NO'|'nl-NL'|'pl-PL'|'pt-BR'|'pt-PT'|'ro-RO'|'ru-RU'|'sv-SE'|'tr-TR'|'en-NZ'|'en-ZA'|'ca-ES'|'de-AT'|'yue-CN'|'ar-AE'|'fi-FI'|'en-IE'|'nl-BE'|'fr-BE',
    IncludeAdditionalLanguageCodes=True|False,
    NextToken='string'
)
Parameters:
  • Engine (string) – Specifies the engine ( standard, neural or long-form) used by Amazon Polly when processing input text for speech synthesis.

  • LanguageCode (string) – The language identification tag (ISO 639 code for the language name-ISO 3166 country code) for filtering the list of voices returned. If you don’t specify this optional parameter, all available voices are returned.

  • IncludeAdditionalLanguageCodes (boolean) – Boolean value indicating whether to return any bilingual voices that use the specified language as an additional language. For instance, if you request all languages that use US English (es-US), and there is an Italian voice that speaks both Italian (it-IT) and US English, that voice will be included if you specify yes but not if you specify no.

  • NextToken (string) – An opaque pagination token returned from the previous DescribeVoices operation. If present, this indicates where to continue the listing.

Return type:

dict

Returns:

Response Syntax

{
    'Voices': [
        {
            'Gender': 'Female'|'Male',
            'Id': 'Aditi'|'Amy'|'Astrid'|'Bianca'|'Brian'|'Camila'|'Carla'|'Carmen'|'Celine'|'Chantal'|'Conchita'|'Cristiano'|'Dora'|'Emma'|'Enrique'|'Ewa'|'Filiz'|'Gabrielle'|'Geraint'|'Giorgio'|'Gwyneth'|'Hans'|'Ines'|'Ivy'|'Jacek'|'Jan'|'Joanna'|'Joey'|'Justin'|'Karl'|'Kendra'|'Kevin'|'Kimberly'|'Lea'|'Liv'|'Lotte'|'Lucia'|'Lupe'|'Mads'|'Maja'|'Marlene'|'Mathieu'|'Matthew'|'Maxim'|'Mia'|'Miguel'|'Mizuki'|'Naja'|'Nicole'|'Olivia'|'Penelope'|'Raveena'|'Ricardo'|'Ruben'|'Russell'|'Salli'|'Seoyeon'|'Takumi'|'Tatyana'|'Vicki'|'Vitoria'|'Zeina'|'Zhiyu'|'Aria'|'Ayanda'|'Arlet'|'Hannah'|'Arthur'|'Daniel'|'Liam'|'Pedro'|'Kajal'|'Hiujin'|'Laura'|'Elin'|'Ida'|'Suvi'|'Ola'|'Hala'|'Andres'|'Sergio'|'Remi'|'Adriano'|'Thiago'|'Ruth'|'Stephen'|'Kazuha'|'Tomoko'|'Niamh'|'Sofie'|'Lisa'|'Isabelle'|'Zayd'|'Danielle'|'Gregory'|'Burcu',
            'LanguageCode': 'arb'|'cmn-CN'|'cy-GB'|'da-DK'|'de-DE'|'en-AU'|'en-GB'|'en-GB-WLS'|'en-IN'|'en-US'|'es-ES'|'es-MX'|'es-US'|'fr-CA'|'fr-FR'|'is-IS'|'it-IT'|'ja-JP'|'hi-IN'|'ko-KR'|'nb-NO'|'nl-NL'|'pl-PL'|'pt-BR'|'pt-PT'|'ro-RO'|'ru-RU'|'sv-SE'|'tr-TR'|'en-NZ'|'en-ZA'|'ca-ES'|'de-AT'|'yue-CN'|'ar-AE'|'fi-FI'|'en-IE'|'nl-BE'|'fr-BE',
            'LanguageName': 'string',
            'Name': 'string',
            'AdditionalLanguageCodes': [
                'arb'|'cmn-CN'|'cy-GB'|'da-DK'|'de-DE'|'en-AU'|'en-GB'|'en-GB-WLS'|'en-IN'|'en-US'|'es-ES'|'es-MX'|'es-US'|'fr-CA'|'fr-FR'|'is-IS'|'it-IT'|'ja-JP'|'hi-IN'|'ko-KR'|'nb-NO'|'nl-NL'|'pl-PL'|'pt-BR'|'pt-PT'|'ro-RO'|'ru-RU'|'sv-SE'|'tr-TR'|'en-NZ'|'en-ZA'|'ca-ES'|'de-AT'|'yue-CN'|'ar-AE'|'fi-FI'|'en-IE'|'nl-BE'|'fr-BE',
            ],
            'SupportedEngines': [
                'standard'|'neural'|'long-form',
            ]
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) –

    • Voices (list) –

      A list of voices with their properties.

      • (dict) –

        Description of the voice.

        • Gender (string) –

          Gender of the voice.

        • Id (string) –

          Amazon Polly assigned voice ID. This is the ID that you specify when calling the SynthesizeSpeech operation.

        • LanguageCode (string) –

          Language code of the voice.

        • LanguageName (string) –

          Human readable name of the language in English.

        • Name (string) –

          Name of the voice (for example, Salli, Kendra, etc.). This provides a human readable voice name that you might display in your application.

        • AdditionalLanguageCodes (list) –

          Additional codes for languages available for the specified voice in addition to its default language.

          For example, the default language for Aditi is Indian English (en-IN) because it was first used for that language. Since Aditi is bilingual and fluent in both Indian English and Hindi, this parameter would show the code hi-IN.

          • (string) –

        • SupportedEngines (list) –

          Specifies which engines ( standard, neural or long-form) are supported by a given voice.

          • (string) –

    • NextToken (string) –

      The pagination token to use in the next request to continue the listing of voices. NextToken is returned only if the response is truncated.

Exceptions

  • Polly.Client.exceptions.InvalidNextTokenException

  • Polly.Client.exceptions.ServiceFailureException

Examples

Returns the list of voices that are available for use when requesting speech synthesis. Displayed languages are those within the specified language code. If no language code is specified, voices for all available languages are displayed.

response = client.describe_voices(
    LanguageCode='en-GB',
)

print(response)

Expected Output:

{
    'Voices': [
        {
            'Gender': 'Female',
            'Id': 'Emma',
            'LanguageCode': 'en-GB',
            'LanguageName': 'British English',
            'Name': 'Emma',
        },
        {
            'Gender': 'Male',
            'Id': 'Brian',
            'LanguageCode': 'en-GB',
            'LanguageName': 'British English',
            'Name': 'Brian',
        },
        {
            'Gender': 'Female',
            'Id': 'Amy',
            'LanguageCode': 'en-GB',
            'LanguageName': 'British English',
            'Name': 'Amy',
        },
    ],
    'ResponseMetadata': {
        '...': '...',
    },
}