fix config and stt task for altLanguages (#575)

* fix config and stt task for altLanguages

* clear freeswitch channel var when altLanguages is empty list
This commit is contained in:
Hoan Luu Huu
2023-12-26 10:21:34 +07:00
committed by GitHub
parent 2ec1460b4e
commit 9eb315ecd6
5 changed files with 142 additions and 25 deletions

View File

@@ -91,19 +91,19 @@ class SttTask extends Task {
if (cs.recognizer) {
for (const k in cs.recognizer) {
if (typeof this.data.recognizer[k] === 'object' ||
if (Array.isArray(this.data.recognizer[k]) ||
Array.isArray(cs.recognizer[k])) {
this.data.recognizer[k] = [
...this.data.recognizer[k],
...cs.recognizer[k]
];
} else if (typeof this.data.recognizer[k] === 'object' ||
typeof cs.recognizer[k] === 'object'
) {
this.data.recognizer[k] = {
...this.data.recognizer[k],
...cs.recognizer[k]
};
} else if (Array.isArray(this.data.recognizer[k]) ||
Array.isArray(cs.recognizer[k])) {
this.data.recognizer[k] = [
...this.data.recognizer[k],
...cs.recognizer[k]
];
} else {
this.data.recognizer[k] = cs.recognizer[k] || this.data.recognizer[k];
}
@@ -127,6 +127,15 @@ class SttTask extends Task {
this.notifyError({ msg: 'ASR error', details:'Cobalt requires a model to be specified'});
throw new Error('Cobalt requires a model to be specified');
}
if (cs.hasAltLanguages) {
this.data.recognizer.altLanguages = this.data.recognizer.altLanguages.concat(cs.altLanguages);
this.logger.debug({altLanguages: this.altLanguages},
'STT:exec - applying altLanguages');
}
if (cs.hasGlobalSttPunctuation && !this.data.recognizer.punctuation) {
this.data.recognizer.punctuation = cs.globalSttPunctuation;
}
}
async _initSpeechCredentials(cs, vendor, label) {