function speakText()

in lib/main.js [337:379]


function speakText() {
    setLanguage();

    if (typeof pollyVoiceMap.get(languageCode) === "undefined") {
        document.getElementById("result").innerHTML =
            "The language you selected is not available for text-to-speech";
        return;
    }

    var voiceId = pollyVoiceMap.get(languageCode);

    // Create the JSON parameters for getSynthesizeSpeechUrl
    var speechParams = {
        OutputFormat: "mp3",
        SampleRate: "16000",
        Text: "",
        TextType: "text",
        VoiceId: voiceId,
        Engine: "standard"
    };

    if (pollyNeuralVoices.includes(voiceId)) 
        speechParams.Engine = "neural";
    
    speechParams.Text = document.getElementById("textEntry").value;

    // Create the Polly service object and presigner object
    var polly = new AWS.Polly({ apiVersion: "2016-06-10" });
    var signer = new AWS.Polly.Presigner(speechParams, polly);

    // Create presigned URL of synthesized speech file
    signer.getSynthesizeSpeechUrl(speechParams, function (error, url) {
        if (error) {
            document.getElementById("result").innerHTML = error;
        } else {
            document.getElementById("audioSource").src = url;
            if (document.getElementById("audioPlayback").style.display === "none")
                document.getElementById("audioPlayback").style.display = "block";
            document.getElementById("audioPlayback").load();
            //document.getElementById("result").innerHTML = "Ready!";
        }
    });
}