fix say task

This commit is contained in:
akirilyuk
2022-02-08 12:22:37 +01:00
parent 8dd9bfbb74
commit a11822609f
2 changed files with 10 additions and 7 deletions

View File

@@ -253,9 +253,6 @@ class Cognigy extends Task {
/* if we need to interrupt the currently-running say task(s), call this */ /* if we need to interrupt the currently-running say task(s), call this */
_killSayTasks(ep) { _killSayTasks(ep) {
// this will also remove all other upcoming tasks after the say task
// maybe we need a flow to kill only one say tasks and keep others executitng need to discuss this further
// this.taskQueue.end();
if (ep && ep.connected) { if (ep && ep.connected) {
ep.api('uuid_break', this.ep.uuid) ep.api('uuid_break', this.ep.uuid)
.catch((err) => this.logger.info({err}, 'Cognigy:_killSayTasks - error killing audio for current say task')); .catch((err) => this.logger.info({err}, 'Cognigy:_killSayTasks - error killing audio for current say task'));

View File

@@ -21,14 +21,20 @@ class TaskSay extends Task {
const {updateSpeechCredentialLastUsed} = require('../utils/db-utils')(this.logger, srf); const {updateSpeechCredentialLastUsed} = require('../utils/db-utils')(this.logger, srf);
const {writeAlerts, AlertType, stats} = srf.locals; const {writeAlerts, AlertType, stats} = srf.locals;
const {synthAudio} = srf.locals.dbHelpers; const {synthAudio} = srf.locals.dbHelpers;
const vendor = this.synthesizer.vendor !== 'default' ? this.synthesizer.vendor : cs.speechSynthesisVendor; const vendor = this.synthesizer.vendor && this.synthesizer.vendor !== 'default' ? this.synthesizer.vendor : cs.speechSynthesisVendor;
const language = this.synthesizer.language !== 'default' ? this.synthesizer.language : cs.speechSynthesisLanguage ; const language = this.synthesizer.language && this.synthesizer.language !== 'default' ? this.synthesizer.language : cs.speechSynthesisLanguage ;
const voice = this.synthesizer.voice !== 'default' ? this.synthesizer.voice : cs.speechSynthesisVoice; const voice = this.synthesizer.voice && this.synthesizer.voice !== 'default' ? this.synthesizer.voice : cs.speechSynthesisVoice;
const engine = this.synthesizer.engine || 'standard'; const engine = this.synthesizer.engine || 'standard';
const salt = cs.callSid; const salt = cs.callSid;
const credentials = cs.getSpeechCredentials(vendor, 'tts'); const credentials = cs.getSpeechCredentials(vendor, 'tts');
this.logger.info({language, voice}, `Task:say - using vendor: ${vendor}`); this.logger.info({language,
voice,
localSynthesizer: this.synthesizer,
speechSynthesisVendor: cs.speechSynthesisVendor,
speechSynthesisLanguage: cs.speechSynthesisLanguage,
speechSynthesisVoice: cs.speechSynthesisVoice
}, `Task:say - using vendor: ${vendor}`);
this.ep = ep; this.ep = ep;
try { try {
if (!credentials) { if (!credentials) {