Omnisuite STT y TTS
De VIVAitwiki
Se han desarrollado conectores propios para
- Speech To Text (STT)
- Text To Speech (TTS)
Para los proveedores
- Evelenlabs
La configuración eficiente es usar STT de ElevenLabs y TTS de Google
1 ElevenLabs
Se dispone de los programas
/opt/omnisuite/bin/omnisuiteSTT11ppara Speech to Text (STT)/opt/omnisuite/bin/omnisuiteTTS11ppara Text To Speech (TTS)
En la invocación para Speech to Text incluiremos
- Fichero ".ini"
stt--> comando para speech a text- Modelo a usar
- idioma a usar
- fichero a convertir a texto
Ejemplo STT
- Invocación
/opt/omnisuite/bin/omnisuiteSTT11p /etc/MDtel/elevenlabs.ini stt scribe_v2 es /var/lib/asterisk/sounds/{id_llamada}_stt.wav
- Respuesta
{
"errorNum": 0,
"errorCad": "OK",
"text": "¿En qué más puedo ayudarte?",
"language": "es",
"elevenlabs_language": "spa",
"confidence": 100
}
En la invocación para Text to Speech incluiremos
- Fichero ".ini"
tst--> comando para speech a text- idioma a usar
- Modelo a usar
- Voz a usar
- Fichero donde quedará el audio obtenido
- Texto a convertir
Ejemplo TTS
- Invocación
/opt/omnisuite/bin/omnisuiteTTS11p /etc/MDtel/elevenlabs.ini tts es eleven_turbo_v2_5 1eHrpOW5l98cxiSRjbzJ /var/lib/asterisk/sounds/{id_llamada}_tts.alaw "{vflow_respuesta}"
- Respuesta
{
"errorNum": 0,
"errorCad": "OK"
}
<br>
El fichero ".ini" (por defecto <code>/etc/MDtel/elevenlabs.ini</code>) contiene:
:* Una sección <code>comun</code> en la que habrá que cambiar el <code>api_key</code>
:* Una sección <code>stt</code>, para "speech to text" en la que se configurarán los keyterms del proyecto
:* Una sección <code>tts</code>, para "text to speech"
<br>
<pre style="background-color: #f6f8fa; border: 1px solid #d1d5da; padding: 1em; border-radius: 4px; width: fit-content; margin-left: 50px; font-family: 'Ubuntu Mono', 'Consolas', monospace; white-space: pre-wrap;">
[comun]
proxy=no
api_key=APIKEYDELPROYECTO
[stt]
# enable_logging=false solo enterprise
url=https://api.elevenlabs.io/v1/speech-to-text?enable_logging=true
to_ms=10000
# temperature=0.0 a 2.0
temperature=0.1
# keyterms_XX: pueden estar todos vacios o no existir. 00<=XX<=09
keyterms_00=
keyterms_01=
keyterms_02=
keyterms_03=
keyterms_04=
keyterms_05=
keyterms_06=
keyterms_07=
keyterms_08=
keyterms_09=
[tts]
url=https://api.elevenlabs.io/v1/text-to-speech/%s?output_format=%s_8000
to_ms=10000
2 Google
3 Integración en Omnisuite
En Omnisuite la invocación a un ASR o TTS del catálogo integrado requiere la inserción de una sola caja en Cally Square, por ejemplo "Google Cloud TTS" o "OpenAI Whisper"
Utilizando la implementación realizada por mdtel, se requerirá de dos cajas:
- Para STT:
- Una caja "system" que grabe el audio del usuario
- Una caja "system" que invoque al STT con dicho audio grabado
- Para TTS:
- Una caja "system" que invoca al TTS y deja el audio generado en un fichero
- Una caja "system" que reproduce el audio
Ventana de warning
⚠️ ATENCION !!
Este proceso genera un fichero temporal de audio para STT y otro para TTS que deberán ser borrados