Pular para o conteúdo principal

Pacotes de Fala

Pacotes de fala são coleções de templates de texto que conduzem anúncios de cabine durante voos. Cada pacote contém um ou mais templates vinculados a fases específicas de voo, e o texto é convertido em áudio usando a síntese de voz ElevenLabs. Isso permite que companhias aéreas virtuais entreguem anúncios PA realistas e apropriados por fase aos pilotos através de clientes ACARS.

Caminho no backoffice: backoffice/speech-packs

Disponível para funções: Administrador do Sistema, Administrador

Estrutura do Pacote

Cada pacote de fala tem os seguintes campos de nível superior:

CampoDescrição
NomeNome de exibição do pacote (ex.: "PA Padrão em Inglês", "Regional Lufthansa")
DescriçãoNotas opcionais sobre o uso pretendido ou público do pacote
AtivoIndicador para habilitar ou desabilitar o pacote inteiro

Um pacote contém um ou mais templates, cada um definindo um único anúncio que é reproduzido em um ponto específico durante o voo.

Templates

Cada template dentro de um pacote de fala configura um único anúncio. Templates possuem os seguintes campos:

CampoDescrição
Fase de gatilhoA fase do voo que aciona este anúncio (veja tabela abaixo)
Função de vozCAPTAIN ou FLIGHT_ATTENDANT -- determina qual persona entrega o anúncio
Perfil de vozVincula a um Perfil de Voz que define a voz ElevenLabs e seus parâmetros TTS
Substituição de idioma de falaOpcionalmente substitui o Idioma de Fala padrão do perfil de voz para este template
Texto do templateO corpo do anúncio, que pode incluir variáveis de template (veja abaixo)
OrdemOrdenação numérica quando múltiplos templates compartilham a mesma fase de gatilho
AtivoIndicador para habilitar ou desabilitar este template individual

Fases de Gatilho

Templates podem ser acionados nestas fases de voo:

FaseIdentificadorQuando Dispara
Saída do Portãogate_departureAntes do pushback, ainda no portão
PushbackpushbackDurante o pushback do portão
TáxitaxiDurante o táxi para a pista
Subida Inicialclimb_outApós decolagem, durante a subida inicial (60s após entrar na zona de subida)
CruzeirocruiseAo atingir a altitude de cruzeiro
DescidadescendQuando a descida começa perto do destino
Passando 10.000passing_10000Subindo por 10.000 ft após a decolagem
Descendo 10.000descending_10000Descendo por 10.000 ft na aproximação
Aproximação Finalfinal_approachNa aproximação final para a pista
Após Pousoafter_landingApós toque e rolagem
Chegada ao Portãogate_arrivalAo chegar ao portão de destino

Variáveis de Template

O texto do template suporta variáveis dinâmicas que são resolvidas no momento da geração usando dados reais do voo:

VariávelResolve ParaExemplo
{salute}Saudação por hora do dia baseada na configuração de saudação do idioma de fala"Bom dia"
{flight_number}Número do voo com dígitos falados como palavras (localizado)"um dois três quatro"
{destination}Nome da cidade do aeroporto de chegada"Londres"
{origin}Nome da cidade do aeroporto de partida"Frankfurt"
{airline}Nome da companhia aérea"Lufthansa"
{aircraft_type}Nome do tipo de frota ou aeronave"Airbus A320"
{captain}Nome do comandante"Capitão Mueller"
{callsign}Indicativo ATC"Speedbird 42"

Exemplo de texto de template:

{salute}, senhoras e senhores. Aqui é o seu comandante falando. Bem-vindos a bordo do voo {airline} {flight_number}
com serviço de {origin} para {destination}. Estaremos voando em um {aircraft_type} hoje.
Por favor, certifiquem-se de que seus cintos estejam afivelados e suas mesinhas estejam na posição vertical.

Atribuição e Resolução de Prioridade

Pacotes de fala não são globais por padrão. Eles devem ser explicitamente atribuídos a uma ou mais das seguintes entidades:

  • Companhias Aéreas -- aplica-se a todos os voos operados pela companhia aérea
  • Frotas -- aplica-se a todas as aeronaves na frota
  • Subfrotas -- aplica-se a todas as aeronaves na subfrota
  • Aeronaves -- aplica-se a um número de cauda específico
  • Aeroportos -- aplica-se em contexto de partida ou chegada

Quando múltiplos pacotes de fala se aplicam a um determinado voo (ex.: um atribuído à companhia aérea e outro à aeronave específica), o sistema resolve conflitos usando uma hierarquia de prioridade. A atribuição mais específica prevalece:

PrioridadeNível de AtribuiçãoDescrição
1 (mais alta)AeronavePacote atribuído ao número de cauda específico
2Aeroporto de ChegadaPacote atribuído ao aeroporto de chegada
3Aeroporto de PartidaPacote atribuído ao aeroporto de partida
4SubfrotaPacote atribuído à subfrota da aeronave
5FrotaPacote atribuído à frota da aeronave
6 (mais baixa)Companhia AéreaPacote atribuído à companhia aérea operadora

Este sistema de sobreposição permite que você defina um pacote base no nível da companhia aérea e depois substitua anúncios específicos para aeroportos, tipos de aeronaves ou números de cauda individuais. Por exemplo, você pode ter um pacote padrão em inglês para a companhia aérea, mas atribuir um pacote bilíngue a aeronaves operando para o Aeroporto de Narita em Tóquio.

Geração e Cache de Áudio

Quando o texto de um template (após substituição de variáveis) é enviado ao ElevenLabs para síntese, o áudio resultante é armazenado em cache usando um hash SHA-256 do texto renderizado. Isso significa:

  • Se o mesmo texto exato já foi gerado antes, o áudio em cache é reutilizado e o ElevenLabs não é chamado novamente.
  • Alterar qualquer valor de variável (número de voo diferente, destino diferente) produz um hash diferente e aciona nova geração de áudio.
  • Editar o texto do template em si também produzirá novo áudio no próximo uso.

Formato de Áudio e Efeito PA

Fragmentos de áudio gerados são armazenados como arquivos MP3. Um efeito de microfone PA opcional pode ser aplicado para simular um sistema PA de cabine realista. Esta cadeia de efeitos inclui:

  • Filtro passa-banda -- corta frequências baixas e altas para emular um alto-falante de cabine
  • Compressão -- nivela picos e vales de volume
  • Eco -- adiciona reverberação sutil típica da acústica de cabine de aeronave

Entrega aos Clientes

O áudio em cache é entregue aos clientes ACARS via o endpoint API:

GET /api/acars/sound

O cliente solicita anúncios para a fase atual do voo, e o servidor retorna os fragmentos de áudio apropriados com base no pacote de fala resolvido e no contexto atual do voo.

Dicas de Uso

  • Comece com um único pacote atribuído no nível da companhia aérea para cobrir todos os voos, depois adicione pacotes especializados conforme necessário.
  • Use o campo de ordem para sequenciar múltiplos anúncios dentro da mesma fase de voo (ex.: boas-vindas do comandante seguidas de briefing de segurança do comissário na saída do portão).
  • Desabilite templates individuais com o indicador ativo em vez de excluí-los -- isso preserva seu trabalho caso queira reabilitá-los depois.
  • A substituição de idioma de fala em templates individuais é útil para anúncios bilíngues: crie dois templates para a mesma fase, um em cada idioma, com ordenação apropriada.
  • Monitore seu uso do ElevenLabs, já que cada renderização de texto única consome créditos API. O cache SHA-256 ajuda a minimizar chamadas redundantes.