mirror of
https://github.com/jambonz/speech-utils.git
synced 2026-01-25 02:08:26 +00:00
support mod_aws_tts
This commit is contained in:
@@ -307,9 +307,39 @@ async function synthAudio(client, createHash, retrieveHash, logger, stats, { acc
|
||||
}
|
||||
|
||||
const synthPolly = async(createHash, retrieveHash, logger,
|
||||
{credentials, stats, language, voice, engine, text}) => {
|
||||
{credentials, stats, language, voice, engine, text, renderForCaching, disableTtsStreaming}) => {
|
||||
const {region, accessKeyId, secretAccessKey, roleArn} = credentials;
|
||||
if (!JAMBONES_DISABLE_TTS_STREAMING && !renderForCaching && !disableTtsStreaming) {
|
||||
|
||||
let params = '{';
|
||||
params += `language=${language}`;
|
||||
if (accessKeyId && secretAccessKey) {
|
||||
if (accessKeyId) params += `,accessKeyId=${accessKeyId}`;
|
||||
if (secretAccessKey) params += `,secretAccessKey=${secretAccessKey}`;
|
||||
} else if (roleArn) {
|
||||
const cred = await getAwsAuthToken(
|
||||
logger, createHash, retrieveHash,
|
||||
{
|
||||
region,
|
||||
roleArn
|
||||
});
|
||||
|
||||
if (cred) {
|
||||
params += `,accessKeyId=${cred.accessKeyId}`;
|
||||
params += `,secretAccessKey=${cred.secretAccessKey}`;
|
||||
params += `,sessionToken=${cred.sessionToken}`;
|
||||
}
|
||||
}
|
||||
if (region) params += `,region=${region}`;
|
||||
params += '}';
|
||||
|
||||
return {
|
||||
filePath: `say:${params}${text.replace(/\n/g, ' ').replace(/\r/g, ' ')}`,
|
||||
servedFromCache: false,
|
||||
rtt: 0
|
||||
};
|
||||
}
|
||||
try {
|
||||
const {region, accessKeyId, secretAccessKey, roleArn} = credentials;
|
||||
let polly;
|
||||
if (accessKeyId && secretAccessKey) {
|
||||
polly = new PollyClient({
|
||||
|
||||
Reference in New Issue
Block a user