Reconhecimento de fala¶
A estação não inventa teletexto nem legendas ocultas: transporta o texto que a imagem trouxe consigo. Um canal que não leva texto nenhum não obtém legendas por essa via — e é precisamente esse canal que costuma precisar delas: uma desconexão regional, uma emissão corporativa, uma fonte externa sem dados de serviço.
O reconhecimento de fala cobre esse caso: a estação lê o áudio do canal gravado e acrescenta-lhe uma faixa de legendas.
O sinal em direto não é tocado de todo. O reconhecimento trabalha sobre o arquivo: lê o áudio gravado e escreve ali mesmo as legendas. Daí duas consequências que convém conhecer de antemão.
- O canal precisa de gravação de arquivo. Sem ela o reconhecimento não tem de onde tirar o áudio nem onde escrever o resultado.
- O atraso é inofensivo. Se o reconhecimento não acompanhar o direto, as legendas atrasam-se e depois recuperam; a saída do canal não é afetada.
Como activar¶
O reconhecimento vive no separador Processamento da ficha do canal, na secção Reconhecimento de fala. Activa-o o interruptor Reconhecer fala em legendas.

São quatro campos e nenhum é obrigatório — os valores por omissão bastam para activar o reconhecimento com um único interruptor.
| Campo | O que define |
|---|---|
| Modelo | O tamanho do reconhecedor. Um modelo maior é mais preciso, mas mais lento e exige mais memória. |
| Idioma | Código ISO-639-1, por exemplo pt. Vazio significa detetar pelo áudio. |
| Fonte de áudio | A faixa da emissão que se escuta. A primeira por omissão. |
| Janela de reconhecimento, s | Até 120 segundos. Uma janela longa entende melhor o sentido, mas a fala aparece mais tarde. |
Vale a pena indicar o idioma quando se conhece. A deteção decide pelos primeiros segundos de áudio e engana-se num canal que começa com um separador musical — e um idioma errado estraga a faixa inteira, não uma única fala.
A fonte de áudio é assunto corrente numa cabeça de rede: o canal leva várias faixas de idioma e o reconhecimento escuta exactamente uma. Se a faixa escolhida não estiver no ar, o estado di-lo: «A faixa de áudio escolhida não está no ar».
Sem gravação não arranca¶
Se activar o reconhecimento num canal sem gravação, o painel responde de imediato, sem esperar pela gravação da configuração:

Isto não impede guardar a definição: avisa que ela não vai funcionar. Active a gravação do canal e o reconhecimento arranca sozinho.
Estado do reconhecimento¶
Por baixo do formulário o painel mostra o que se passa na realidade. É o único sítio onde se vê o trabalho vivo do reconhecimento: a ficha do canal tira o estado do nó onde o canal é gravado.

- A funcionar / Parado — se o reconhecimento está de pé. «Parado» vem sempre acompanhado do motivo por palavras.
- Atraso — quanto o reconhecido fica atrás do momento actual. No bordo em direto são segundos; num arquivo que o reconhecimento recupera desde o início são horas, e isso é um modo de trabalho normal, não uma falha.
- Áudio reconhecido — quanto áudio já passou pelo reconhecedor.
- Falas — quantas linhas de legendas foram escritas.
- Erros — falhas de leitura do arquivo e de reconhecimento. Zero aqui é o estado habitual.
- Última fala — quando o reconhecimento escreveu alguma coisa pela última vez.
O painel nomeia diretamente os motivos por que o reconhecimento não arranca:
| O que diz | O que fazer |
|---|---|
| O stream não tem gravação de arquivo | Activar a gravação. |
| Falta o ficheiro do modelo ou não carregou | Colocar o ficheiro do modelo no servidor (abaixo). |
| A faixa de áudio escolhida não está no ar | Escolher outra fonte de áudio ou deixar a omissão. |
| O reconhecedor não conhece esse idioma | Verificar o código do idioma ou limpar o campo. |
| Esta compilação do servidor não tem reconhecimento de fala | Contactar o suporte: o servidor foi compilado sem o motor. |
Um reconhecimento que funciona e tem um erro recente é um aviso, não uma avaria: um trecho não lido não pára o trabalho, o reconhecimento continua no seguinte.
O ficheiro do modelo¶
O modelo não é entregue com o servidor: um utilizável pesa mais de um gigabyte e qual é preciso decide o dono da estação. O servidor procura-o no directório de estado do produto — /var/lib/mcaster/whisper-models — e espera ali um ficheiro ggml-<modelo>.bin, ou seja ggml-medium.bin para o modelo medium.
Enquanto o ficheiro não existir, o estado do reconhecimento diz honestamente «Falta o ficheiro do modelo ou não carregou», e o canal continua a funcionar e a gravar como se nada fosse.
Um único ficheiro serve todos os canais da estação: o modelo é lido para memória uma vez por processo, por muitos canais que o peçam.
O que vai para a saída¶
O reconhecido torna-se uma faixa de legendas normal do canal: aparece na informação de media e viaja para a cópia OTT como WebVTT — exactamente onde uma faixa de texto é precisa, porque nenhum leitor OTT descodifica teletexto.
O fluxo de transporte não levará o texto reconhecido: uma faixa de legendas não tem em que viajar dentro do MPEG-TS — a mesma limitação da extração de teletexto.
Faz sentido ver a faixa sobre o arquivo. No bordo em direto as legendas ainda não estão lá: aparecem com o mesmo atraso que o estado mostra.
O que se segue¶
- Legendas e teletexto — o que fazer com o texto que o canal já transporta.
- Gravação e leitura do arquivo — sem o que o reconhecimento não arranca.
- Cópia OTT — para onde vai a faixa reconhecida.