describeVoices method
- Engine? engine,
- bool? includeAdditionalLanguageCodes,
- LanguageCode? languageCode,
- String? nextToken,
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.
May throw InvalidNextTokenException. May throw ServiceFailureException.
Parameter engine
:
Specifies the engine (standard
or neural
) used
by Amazon Polly when processing input text for speech synthesis.
Parameter includeAdditionalLanguageCodes
:
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
.
Parameter languageCode
:
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.
Parameter nextToken
:
An opaque pagination token returned from the previous
DescribeVoices
operation. If present, this indicates where to
continue the listing.
Implementation
Future<DescribeVoicesOutput> describeVoices({
Engine? engine,
bool? includeAdditionalLanguageCodes,
LanguageCode? languageCode,
String? nextToken,
}) async {
_s.validateStringLength(
'nextToken',
nextToken,
0,
4096,
);
final $query = <String, List<String>>{
if (engine != null) 'Engine': [engine.toValue()],
if (includeAdditionalLanguageCodes != null)
'IncludeAdditionalLanguageCodes': [
includeAdditionalLanguageCodes.toString()
],
if (languageCode != null) 'LanguageCode': [languageCode.toValue()],
if (nextToken != null) 'NextToken': [nextToken],
};
final response = await _protocol.send(
payload: null,
method: 'GET',
requestUri: '/v1/voices',
queryParams: $query,
exceptionFnMap: _exceptionFns,
);
return DescribeVoicesOutput.fromJson(response);
}