What is @aws-sdk/client-polly?
@aws-sdk/client-polly is an AWS SDK for JavaScript package that allows developers to interact with Amazon Polly, a service that turns text into lifelike speech. This package provides a variety of functionalities to synthesize speech, manage lexicons, and retrieve information about available voices and speech synthesis tasks.
What are @aws-sdk/client-polly's main functionalities?
Synthesize Speech
This feature allows you to convert text into speech. The code sample demonstrates how to synthesize speech using the PollyClient and SynthesizeSpeechCommand classes.
const { PollyClient, SynthesizeSpeechCommand } = require('@aws-sdk/client-polly');
const client = new PollyClient({ region: 'us-west-2' });
const params = {
OutputFormat: 'mp3',
Text: 'Hello, world!',
VoiceId: 'Joanna'
};
const command = new SynthesizeSpeechCommand(params);
client.send(command).then((data) => {
// Handle the audio stream in data.AudioStream
}).catch((error) => {
console.error(error);
});
List Voices
This feature allows you to retrieve a list of available voices. The code sample demonstrates how to list voices using the PollyClient and DescribeVoicesCommand classes.
const { PollyClient, DescribeVoicesCommand } = require('@aws-sdk/client-polly');
const client = new PollyClient({ region: 'us-west-2' });
const command = new DescribeVoicesCommand({});
client.send(command).then((data) => {
console.log(data.Voices);
}).catch((error) => {
console.error(error);
});
Manage Lexicons
This feature allows you to manage custom pronunciation lexicons. The code sample demonstrates how to list lexicons using the PollyClient and ListLexiconsCommand classes.
const { PollyClient, ListLexiconsCommand } = require('@aws-sdk/client-polly');
const client = new PollyClient({ region: 'us-west-2' });
const command = new ListLexiconsCommand({});
client.send(command).then((data) => {
console.log(data.Lexicons);
}).catch((error) => {
console.error(error);
});
Other packages similar to @aws-sdk/client-polly
google-cloud-text-to-speech
The google-cloud-text-to-speech package is a client library for Google's Text-to-Speech API. It provides similar functionalities to @aws-sdk/client-polly, such as converting text to speech and managing voices. However, it is specific to Google's cloud services and offers different voice options and languages.
microsoft-cognitiveservices-speech-sdk
The microsoft-cognitiveservices-speech-sdk package is a client library for Microsoft's Azure Cognitive Services Speech API. It offers text-to-speech conversion, speech recognition, and translation features. Compared to @aws-sdk/client-polly, it provides a broader range of speech-related functionalities and integrates with Microsoft's Azure ecosystem.
ibm-watson
The ibm-watson package is a client library for IBM's Watson Text to Speech service. It allows developers to convert text to speech, manage custom voices, and handle pronunciation lexicons. While it offers similar text-to-speech capabilities as @aws-sdk/client-polly, it is tailored for IBM's Watson services and provides unique voice customization options.