Paquetes de Locución
Los paquetes de locución son colecciones de plantillas de texto que impulsan los anuncios de cabina durante los vuelos. Cada paquete contiene una o más plantillas vinculadas a fases específicas del vuelo, y el texto se convierte a audio usando texto a voz de ElevenLabs. Esto permite que las aerolíneas virtuales entreguen anuncios de PA realistas y apropiados para cada fase a los pilotos a través de clientes ACARS.
Ruta del backoffice: backoffice/speech-packs
Disponible para roles: Administrador del Sistema, Administrador
Estructura del Paquete
Cada paquete de locución tiene los siguientes campos de nivel superior:
| Campo | Descripción |
|---|---|
| Nombre | Nombre de visualización del paquete (por ejemplo, "PA Estándar en Inglés", "Regional Lufthansa") |
| Descripción | Notas opcionales sobre el uso o audiencia prevista del paquete |
| Activo | Interruptor para habilitar o deshabilitar el paquete completo |
Un paquete contiene una o más plantillas, cada una definiendo un anuncio individual que se reproduce en un punto específico durante el vuelo.
Plantillas
Cada plantilla dentro de un paquete de locución configura un anuncio individual. Las plantillas tienen los siguientes campos:
| Campo | Descripción |
|---|---|
| Fase de activación | La fase del vuelo que activa este anuncio (ver tabla a continuación) |
| Rol de voz | CAPTAIN o FLIGHT_ATTENDANT — determina qué persona entrega el anuncio |
| Perfil de voz | Enlace a un Perfil de Voz que define la voz de ElevenLabs y sus parámetros TTS |
| Anulación de idioma de locución | Opcionalmente anula el Idioma de Locución predeterminado del perfil de voz para esta plantilla |
| Texto de la plantilla | El cuerpo del anuncio, que puede incluir variables de plantilla (ver abajo) |
| Orden | Ordenamiento numérico cuando múltiples plantillas comparten la misma fase de activación |
| Activa | Interruptor para habilitar o deshabilitar esta plantilla individual |
Fases de Activación
Las plantillas pueden activarse en estas fases del vuelo:
| Fase | Identificador | Cuándo Se Activa |
|---|---|---|
| Salida de Puerta | gate_departure | Antes del pushback, todavía en la puerta |
| Pushback | pushback | Durante el pushback desde la puerta |
| Rodaje | taxi | Durante el rodaje a la pista |
| Ascenso Inicial | climb_out | Después del despegue, durante el ascenso inicial (60s después de entrar en zona de ascenso) |
| Crucero | cruise | Al alcanzar la altitud de crucero |
| Descenso | descend | Cuando comienza el descenso cerca del destino |
| Pasando 10.000 | passing_10000 | Al ascender por 10.000 ft después del despegue |
| Descendiendo 10.000 | descending_10000 | Al descender por 10.000 ft en aproximación |
| Aproximación Final | final_approach | En aproximación final a la pista |
| Después del Aterrizaje | after_landing | Después de tocar tierra y desacelerar |
| Llegada a Puerta | gate_arrival | Al llegar a la puerta de destino |
Variables de Plantilla
El texto de la plantilla admite variables dinámicas que se resuelven en el momento de la generación usando datos reales del vuelo:
| Variable | Se Resuelve A | Ejemplo |
|---|---|---|
{salute} | Saludo según la hora del día basado en la configuración de saludo del idioma de locución | "Buenos días" |
{flight_number} | Número de vuelo con dígitos pronunciados como palabras (localizado) | "uno dos tres cuatro" |
{destination} | Nombre de la ciudad del aeropuerto de llegada | "Londres" |
{origin} | Nombre de la ciudad del aeropuerto de salida | "Frankfurt" |
{airline} | Nombre de la aerolínea | "Lufthansa" |
{aircraft_type} | Nombre de la flota o tipo de aeronave | "Airbus A320" |
{captain} | Nombre del piloto al mando | "Capitán Mueller" |
{callsign} | Indicativo ATC | "Speedbird 42" |
Ejemplo de texto de plantilla:
{salute}, damas y caballeros. Les habla su capitán. Bienvenidos a bordo del vuelo {flight_number} de {airline}
con servicio de {origin} a {destination}. Volaremos en un {aircraft_type} hoy.
Por favor, asegúrense de que sus cinturones estén abrochados y sus mesas en posición vertical.
Asignación y Resolución de Prioridad
Los paquetes de locución no son globales por defecto. Deben asignarse explícitamente a una o más de las siguientes entidades:
- Aerolíneas — se aplica a todos los vuelos operados por la aerolínea
- Flotas — se aplica a todas las aeronaves de la flota
- Subflotas — se aplica a todas las aeronaves de la subflota
- Aeronaves — se aplica a un número de cola específico
- Aeropuertos — se aplica en un contexto de salida o llegada
Cuando múltiples paquetes de locución aplican a un vuelo dado (por ejemplo, uno asignado a la aerolínea y otro a la aeronave específica), el sistema resuelve conflictos usando una jerarquía de prioridad. La asignación más específica gana:
| Prioridad | Nivel de Asignación | Descripción |
|---|---|---|
| 1 (más alta) | Aeronave | Paquete asignado al número de cola específico |
| 2 | Aeropuerto de Llegada | Paquete asignado al aeropuerto de llegada |
| 3 | Aeropuerto de Salida | Paquete asignado al aeropuerto de salida |
| 4 | Subflota | Paquete asignado a la subflota de la aeronave |
| 5 | Flota | Paquete asignado a la flota de la aeronave |
| 6 (más baja) | Aerolínea | Paquete asignado a la aerolínea operadora |
Este sistema de capas le permite establecer un paquete base a nivel de aerolínea y luego anular anuncios específicos para aeropuertos, tipos de aeronaves o números de cola particulares. Por ejemplo, podría tener un paquete estándar en inglés para la aerolínea pero asignar un paquete bilingüe a aeronaves que operan hacia Tokyo Narita.
Generación y Caché de Audio
Cuando el texto de una plantilla (después de la sustitución de variables) se envía a ElevenLabs para síntesis, el audio resultante se almacena en caché usando un hash SHA-256 del texto renderizado. Esto significa:
- Si el mismo texto exacto se ha generado antes, el audio en caché se reutiliza y no se llama nuevamente a ElevenLabs.
- Cambiar cualquier valor de variable (número de vuelo diferente, destino diferente) produce un hash diferente y activa una nueva generación de audio.
- Editar el texto de la plantilla en sí también producirá nuevo audio en el próximo uso.
Formato de Audio y Efecto de PA
Los fragmentos de audio generados se almacenan como archivos MP3. Un efecto opcional de micrófono de PA puede aplicarse para simular un sistema de PA de cabina realista. Esta cadena de efectos incluye:
- Filtro paso banda — atenúa frecuencias bajas y altas para emular un altavoz de cabina
- Compresión — nivela los picos y valles de volumen
- Eco — agrega una reverberación sutil típica de la acústica de cabina de aeronaves
Entrega a Clientes
El audio en caché se entrega a clientes ACARS a través del endpoint API:
GET /api/acars/sound
El cliente solicita anuncios para la fase de vuelo actual, y el servidor devuelve los fragmentos de audio apropiados basándose en el paquete de locución resuelto y el contexto del vuelo actual.
Consejos de Uso
- Comience con un paquete único asignado a nivel de aerolínea para cubrir todos los vuelos, luego agregue paquetes especializados según sea necesario.
- Use el campo de orden para secuenciar múltiples anuncios dentro de la misma fase de vuelo (por ejemplo, bienvenida del capitán seguida del briefing de seguridad del tripulante de cabina en la salida de puerta).
- Deshabilite plantillas individuales con el interruptor activa en lugar de eliminarlas — esto preserva su trabajo si desea reactivarlas después.
- La anulación de idioma de locución en plantillas individuales es útil para anuncios bilingües: cree dos plantillas para la misma fase, una en cada idioma, con el ordenamiento apropiado.
- Monitoree su uso de ElevenLabs, ya que cada renderizado de texto único consume créditos API. El caché SHA-256 ayuda a minimizar llamadas redundantes.