Amazon AWS Polly игнорирует VoiceId - Javascript SDK - PullRequest
0 голосов
/ 31 августа 2018

Я интегрировал свой Javascript AWS SDK и отправил запрос без сервера в API. Все работает нормально, но проблема в том, что конечная точка «игнорирует» VoiceId.

Проблема: конечные точки всегда возвращают mp3 с VoiceID 'Ivy'.

С voice, например, Я отправляю Justin

JS

   getVoice(text, voice) {

   let awsCredentials = new AWS.Credentials("XXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXX");
   let settings = {
       awsCredentials: awsCredentials,
       awsRegion: "us-west-2",
       pollyVoiceId: voice,
       cacheSpeech: false
   }

   AWS.config.credentials = settings.awsCredentials;
   AWS.config.region = settings.awsRegion;

   let speechfile = new Promise(function (successCallback, errorCallback) {
        var polly = new AWS.Polly();
        var params = {
            OutputFormat: 'mp3',
            TextType: "ssml",
            Text: text,
            VoiceId: settings.pollyVoiceId
        }
        polly.synthesizeSpeech(params, function (error, data) {
            if (error) {
                errorCallback(error)
            } else {
                let audiostream = data.AudioStream;
                successCallback(audiostream);
            }
        });
    });
    return speechfile;
 }

1 Ответ

0 голосов
/ 04 сентября 2018

Нашел проблему. Мне не разрешено использовать var 'voice' в моем сервисе.

 getVoice(text, currentVoice) {

   let voi = currentVoice;


   let awsCredentials = new AWS.Credentials("xxxxxxxxxx", "xxxxxxxx");
   let settings = {
       awsCredentials: awsCredentials,
       awsRegion: "us-west-1",
       cacheSpeech: false
   }

   AWS.config.credentials = settings.awsCredentials;
   AWS.config.region = settings.awsRegion;

   let speechfile = new Promise(function (successCallback, errorCallback) {
        var polly = new AWS.Polly();
        var params = {
            LanguageCode: "en-US",
            OutputFormat: 'mp3',
            TextType: "ssml",
            Text: text,
            VoiceId: voi
        }
        polly.synthesizeSpeech(params, function (error, data) {
            if (error) {
                errorCallback(error)
            } else {
                //alert(text + data.AudioStream);
                let audiostream = data.AudioStream;
                successCallback(audiostream);
            }
        });
    });
    return speechfile;
    // end getVoice
 }
...