Diferencia entre revisiones de «Omnisuite STT y TTS»
| Línea 96: | Línea 96: | ||
<br> | <br> | ||
Ejemplo: <code>rm /var/lib/asterisk/sounds/{id_llamada}_tts.alaw</code> | Ejemplo: <code>rm /var/lib/asterisk/sounds/{id_llamada}_tts.alaw</code> | ||
| − | |||
| − | |||
</div> | </div> | ||
<br> | <br> | ||
Revisión del 13:43 14 may 2026
1 Introducción
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
2 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
/opt/omnisuite/bin/omnisuiteSTT11p /etc/MDtel/elevenlabs.ini stt scribe_v2 es /var/lib/asterisk/sounds/{id_llamada}_stt.wav | jq -r '.text'
En el ejemplo vemos que del resultado obtenido "parseamos" solo el campo '.text'
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
/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}"
El fichero ".ini" (por defecto /etc/MDtel/elevenlabs.ini) contiene:
- Una sección
comunen la que habrá que cambiar elapi_key - Una sección
stt, para "speech to text" en la que se configurarán los keyterms del proyecto - Una sección
tts, para "text to speech"
- Una sección
[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
3 Google
4 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 con una caja system comando
Ejemplo: rm /var/lib/asterisk/sounds/{id_llamada}_tts.alaw
Que deberán ser invocado desde un comando "system" de Cally Square