google custom voice (#506)

* google custom voice

* fixed

* wip

* wip

* wip

* wip
This commit is contained in:
Hoan Luu Huu
2023-10-31 07:10:30 +07:00
committed by GitHub
parent 42d1069617
commit e73bef4af0
4 changed files with 40 additions and 10 deletions

View File

@@ -28,7 +28,7 @@ module.exports = function(srf, logger) {
writeAlerts,
AlertType
} = srf.locals;
const {lookupAccountDetails} = dbUtils(logger, srf);
const {lookupAccountDetails, lookupGoogleCustomVoice} = dbUtils(logger, srf);
async function initLocals(req, res, next) {
const callId = req.get('Call-ID');
@@ -299,6 +299,21 @@ module.exports = function(srf, logger) {
else app2.notifier = {request: () => {}, close: () => {}};
}
// Resolve application.speech_synthesis_voice if it's custom voice
if (app2.speech_synthesis_vendor === 'google' && app2.speech_synthesis_voice.startsWith('custom_')) {
const arr = /custom_(.*)/.exec(app2.speech_synthesis_voice);
if (arr) {
const google_custom_voice_sid = arr[1];
const [custom_voice] = await lookupGoogleCustomVoice(google_custom_voice_sid);
if (custom_voice) {
app2.speech_synthesis_voice = {
reportedUsage: custom_voice.reported_usage,
model: custom_voice.model
};
}
}
}
req.locals.application = app2;
// eslint-disable-next-line no-unused-vars