mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 16:50:39 +00:00
Tts/elevenlabs streaming (#629)
* update to fsmrf with fix * changes to support elevenlabs tts streaming * say: add vendor data to span * bug: tts spans must include cached property * add env for JAMBONES_USE_FREESWITCH_TIMER_FD * fix bug in prev commit * wip * linting * wip - caching files generating by streaming tts * wip caching * cleanup some logs * handle tts streaming failure, write alert * update node version dependency * set timerfd on outbound call scenarios * default model to nova-2-phonecall when using deepgram --------- Co-authored-by: Dave Horton <daveh@beachdognet.com>
This commit is contained in:
@@ -176,6 +176,7 @@ function installSrfLocals(srf, logger) {
|
||||
const registrar = new Registrar(logger, client);
|
||||
const {
|
||||
synthAudio,
|
||||
addFileToCache,
|
||||
getNuanceAccessToken,
|
||||
getIbmAccessToken,
|
||||
} = require('@jambonz/speech-utils')({}, logger);
|
||||
@@ -215,6 +216,7 @@ function installSrfLocals(srf, logger) {
|
||||
listCalls,
|
||||
deleteCall,
|
||||
synthAudio,
|
||||
addFileToCache,
|
||||
createHash,
|
||||
retrieveHash,
|
||||
deleteKey,
|
||||
|
||||
@@ -16,6 +16,9 @@ const uuidv4 = require('uuid-random');
|
||||
const HttpRequestor = require('./http-requestor');
|
||||
const WsRequestor = require('./ws-requestor');
|
||||
const {makeOpusFirst} = require('./sdp-utils');
|
||||
const {
|
||||
JAMBONES_USE_FREESWITCH_TIMER_FD
|
||||
} = require('../config');
|
||||
|
||||
class SingleDialer extends Emitter {
|
||||
constructor({logger, sbcAddress, target, opts, application, callInfo, accountInfo, rootSpan, startSpan, dialTask,
|
||||
@@ -324,8 +327,12 @@ class SingleDialer extends Emitter {
|
||||
}
|
||||
|
||||
_configMsEndpoint() {
|
||||
if (this.onHoldMusic) {
|
||||
this.ep.set({hold_music: `shout://${this.onHoldMusic.replace(/^https?:\/\//, '')}`});
|
||||
const opts = {
|
||||
...(this.onHoldMusic && {holdMusic: `shout://${this.onHoldMusic.replace(/^https?:\/\//, '')}`}),
|
||||
...(JAMBONES_USE_FREESWITCH_TIMER_FD && {timer_name: 'timerfd'})
|
||||
};
|
||||
if (Object.keys(opts).length > 0) {
|
||||
this.ep.set(opts);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -107,30 +107,30 @@ const optimalDeepramModels = {
|
||||
'zh-CN':['base', 'base'],
|
||||
'zh-TW': ['base', 'base'],
|
||||
da: ['enhanced', 'enhanced'],
|
||||
en: ['nova-2-conversationalai', 'nova-2'],
|
||||
'en-US': ['nova-2-conversationalai', 'nova-2'],
|
||||
'en-AU': ['nova-2-conversationalai', 'nova-2'],
|
||||
'en-GB': ['nova-2-conversationalai', 'nova-2'],
|
||||
'en-IN': ['nova-2-conversationalai', 'nova-2'],
|
||||
'en-NZ': ['nova-2-conversationalai', 'nova-2'],
|
||||
nl: ['nova-2-conversationalai', 'nova-2'],
|
||||
fr: ['nova-2-conversationalai', 'nova-2'],
|
||||
'fr-CA': ['nova-2-conversationalai', 'nova-2'],
|
||||
de: ['nova-2-conversationalai', 'nova-2'],
|
||||
hi: ['nova-2-conversationalai', 'nova-2'],
|
||||
'hi-Latn': ['nova-2-conversationalai', 'nova-2'],
|
||||
en: ['nova-2-phonecall', 'nova-2'],
|
||||
'en-US': ['nova-2-phonecall', 'nova-2'],
|
||||
'en-AU': ['nova-2-phonecall', 'nova-2'],
|
||||
'en-GB': ['nova-2-phonecall', 'nova-2'],
|
||||
'en-IN': ['nova-2-phonecall', 'nova-2'],
|
||||
'en-NZ': ['nova-2-phonecall', 'nova-2'],
|
||||
nl: ['nova-2-phonecall', 'nova-2'],
|
||||
fr: ['nova-2-phonecall', 'nova-2'],
|
||||
'fr-CA': ['nova-2-phonecall', 'nova-2'],
|
||||
de: ['nova-2-phonecall', 'nova-2'],
|
||||
hi: ['nova-2-phonecall', 'nova-2'],
|
||||
'hi-Latn': ['nova-2-phonecall', 'nova-2'],
|
||||
id: ['base', 'base'],
|
||||
it: ['enhanced', 'enhanced'],
|
||||
ja: ['enhanced', 'enhanced'],
|
||||
ko: ['enhanced', 'enhanced'],
|
||||
no: ['enhanced', 'enhanced'],
|
||||
pl: ['enhanced', 'enhanced'],
|
||||
pt: ['nova-2-conversationalai', 'nova-2'],
|
||||
'pt-BR': ['nova-2-conversationalai', 'nova-2'],
|
||||
pt: ['nova-2-phonecall', 'nova-2'],
|
||||
'pt-BR': ['nova-2-phonecall', 'nova-2'],
|
||||
'pt-PT': ['base', 'base'],
|
||||
ru: ['base', 'base'],
|
||||
es: ['nova-2-conversationalai', 'nova-2'],
|
||||
'es-419': ['nova-2-conversationalai', 'nova-2'],
|
||||
es: ['nova-2-phonecall', 'nova-2'],
|
||||
'es-419': ['nova-2-phonecall', 'nova-2'],
|
||||
'es-LATAM': ['enhanced', 'enhanced'],
|
||||
sv: ['enhanced', 'enhanced'],
|
||||
ta: ['enhanced', 'enhanced'],
|
||||
|
||||
Reference in New Issue
Block a user