Manda áudio, recebe voz traduzida.
Em tempo real, e dentro do fluxo que já tens. O mesmo motor que move um congresso, alcançável pelos protocolos que a tua instalação já fala.
Uma instalação a sério
A Catedral de Santiago de Compostela: um equipamento na sala, o áudio a sair para o motor e a tradução a chegar ao telemóvel de quem ouve. Mais de cinco horas seguidas, num dos ambientes acústicos mais hostis que existem.
Como encaixa
Três peças, e da do meio não tens de tratar tu.
Entra
O teu áudio
Um fluxo contínuo por SRT, ou WebRTC quando quem fala é um telemóvel já identificado.
Motor
Uma escuta, todos os idiomas
O áudio ouve-se uma vez e dessa escuta saem todos os idiomas de destino. Nenhum espera atrás de outro.
Sai
Voz e texto
A voz traduzida para o teu próprio WebRTC por WHIP, e um POST de HTTP por cada frase traduzida para o texto.
Catorze idiomas em paralelo num único nó, e 812 ms de ponta a ponta.
Por onde entra o áudio.
Uma sala onde se está a falar não manda ficheiros: manda um fluxo contínuo, e tem de continuar a mandá-lo por uma rede que perde pacotes. É para isso que existe o SRT.
- O teu equipamento é quem liga. Ao criar a sala devolvemos-te o URL inteiro já montado — servidor, porta, identificador do equipamento e palavra-passe.
- Opus num contentor MPEG-TS, mono, 16 kHz, à volta de 24 kbps. Isto é voz e não música, e a largura de banda a mais não compra nada que se vá ouvir.
- A palavra-passe é por equipamento e não é opcional: uma ligação sem cifra é recusada por muito bem que faça tudo o resto. Dez caracteres é o mínimo do próprio SRT, não nosso.
- Manda de forma contínua, com a transmissão descontínua desativada. Um fluxo que para nos silêncios come o princípio da frase que o volta a arrancar.
O URL de ligação, tal como a sala to devolve
srt://HOST:8890?streamid=DEVICE_ID&mode=caller&latency=120&passphrase=SECRETA pipeline que corre no nosso próprio equipamento
A forma mais curta de testar o teu é correr exatamente isto. Uma captura de linha costuma chegar mais fraca do que um microfone: se a tua se ouve baixa, acrescenta um andar de volume em vez de apertar mais o codificador.
gst-launch-1.0 -e \
alsasrc device=plughw:CODEC,0 ! audioconvert ! audioresample ! \
audio/x-raw,rate=16000,channels=1 ! \
opusenc bitrate=24000 ! mpegtsmux ! \
srtsink uri="srt://HOST:8890?streamid=DEVICE_ID&mode=caller&latency=120&passphrase=SECRET"A outra entrada é WebRTC. É a que serve quando quem fala é um telemóvel já identificado: não há nada para instalar nem nada com que autenticar, por isso a sala não devolve credenciais.
E por onde sai.
Se já tens infraestrutura de WebRTC — uma plataforma de vídeo, uma aplicação de eventos, uma régie — não tens de entrar numa sala nossa para levantar a tradução. Dá-nos um ponto WHIP e publicamos aí.
- Cada idioma de destino é a sua própria sessão de WHIP. Um ponto WHIP pode aceitar uma só faixa de áudio e muitos fazem-no, por isso cinco idiomas numa sessão chegariam como um, com quatro a faltar sem avisar.
- Põe o marcador de idioma no URL e cada idioma tem o seu próprio caminho; deixa-o de fora e o idioma viaja como parâmetro de consulta. De qualquer das maneiras o teu lado sabe distingui-los, coisa que tem de poder fazer.
- Se puseres uma credencial, é enviada como cabeçalho Authorization Bearer, e ao terminar uma intervenção apagamos o recurso da sessão, para não deixar nada a segurar uma ligação.
- Por omissão isto é além da sala: os teus ouvintes continuam a funcionar e a tua instalação recebe o áudio também. Se o puseres como único destino, a sala deixa de ser usada.
As duas formas do ponto de publicação
delivery.whip.url = https://you.example.com/ingest/{lang}/whip → …/ingest/en/whip
delivery.whip.url = https://you.example.com/whip → …/whip?lang=enO texto viaja à parte, e isso não é um pormenor
O WHIP leva média e mais nada — o protocolo não tem canal de dados — por isso as legendas não podem vir dentro do áudio. Dá-nos um URL e fazemos um POST por cada frase traduzida, com a sala, o segmento, o idioma de onde veio e aquele para onde foi. Quem monta isto a contar que o texto chega com o áudio dá por ela no dia do evento.
Com o que funciona tal como está
Estes são os que a especificação nomeia, não uma parede de logótipos. Para algo que fale RTMP ou SRT mais à frente, o MediaMTX à frente faz de ponte a partir do WHIP sem que nenhum dos dois escreva código.
Isto não é a referência da API, e a diferença importa
São duas portas para o mesmo motor, e entrar pela errada custa um dia. Esta é para meter um fluxo de média por ele. A outra é para programar contra ele.
Esta página
Já tens áudio a mexer-se e queres a tradução dentro desse movimento. O que precisas é de uma porta, um codec e um sítio onde publicar.
A referência da API
Estás a escrever código: criar salas, enviar uma gravação, pedir o resultado no formato que quiseres, decidir quem pode tomar a palavra. Endpoint a endpoint, com exemplos que funcionam ao colar.
Ir para a referênciaAs duas juntam-se num sítio: o ponto WHIP e o URL do texto são definições de uma sala, e uma sala cria-se pela API.
A latência de ponta a ponta são 812 ms — o percurso completo, de alguém falar até ser ouvido traduzido.
Os catorze idiomas saem de uma só escuta do áudio, por isso o décimo quarto custa o que custa um décimo quarto e não catorze vezes o primeiro.
Integrações e trabalhos: minutos avulsos
Para transmitir uma sala ou processar ficheiros. Sem mensalidade: compras minutos e gastam-se conforme se traduz. Tens doze meses para os gastar, e é o mesmo motor e as mesmas catorze línguas em todos os pacotes.
A cor marca o que se fala
silêncio · o contador está parado
não somam ao contador
Uma hora de reunião, 20 minutos de fala: 20 minutos contados.
€ 20+ IVA
Alguns eventos, ou experimentar com algo a sério.
- 100 minutos
- de voz traduzida para uma língua
- € 0,20 o minuto
- sem mensalidade, e doze meses para gastar
- —
- o preço de referência
- ≈ 1 celebração
- de uma hora, 40 minutos de fala, quatro línguas
- Catorze idiomas
- do mesmo áudio e ao mesmo tempo
€ 85+ IVA
Uma celebração semanal, e toda a sua época.
- 500 minutos
- de voz traduzida para uma língua
- € 0,17 o minuto
- sem mensalidade, e doze meses para gastar
- −15%
- de desconto sobre o valor avulso
- ≈ 6 celebrações
- de uma hora, 40 minutos de fala, quatro línguas
- Catorze idiomas
- do mesmo áudio e ao mesmo tempo
€ 300+ IVA
Várias salas a funcionar todas as semanas.
- 2.000 minutos
- de voz traduzida para uma língua
- € 0,15 o minuto
- sem mensalidade, e doze meses para gastar
- −25%
- de desconto sobre o valor avulso
- ≈ 24 celebrações
- de uma hora, 40 minutos de fala, quatro línguas
- Catorze idiomas
- do mesmo áudio e ao mesmo tempo
€ 675+ IVA
Um sítio que emite quase todos os dias.
- 5.000 minutos
- de voz traduzida para uma língua
- € 0,135 o minuto
- sem mensalidade, e doze meses para gastar
- −32,5%
- de desconto sobre o valor avulso
- ≈ 60 celebrações
- de uma hora, 40 minutos de fala, quatro línguas
- Catorze idiomas
- do mesmo áudio e ao mesmo tempo
Em todos os pacotes, sem exceção
- As catorze línguas, do mesmo áudio
- Todas as salas que quiser criar
- Gravações, documentos e legendas
- A API completa e as suas próprias chaves
- Uma fatura por compra, com os seus dados fiscais
- Nada é gravado de uma sala em direto
O acompanhamento orçamenta-se à parte
O minuto paga o motor, não horas de pessoa. Tudo o que leve alguém nosso atrás orçamenta-se:
- Arranque: ligar o teu SRT ou o teu WebRTC e rever a tua montagem
- Estar do outro lado no dia do evento
- Desenvolvimento à medida do que o teu fluxo precisa
- Instalá-lo dentro da tua rede
Ou o valor que quiser
A 0,20 € o minuto, sem desconto de volume — é para isso que servem os pacotes. Entre 10 € e 5.000 €, e entra na conta assim que o pagamento passa.
Os primeiros 30 minutos são por nossa conta
Guarde um cartão e ficam na sua conta. Não se cobra nada, e a página do cartão também diz 0 € — o cartão fica ali para o dia em que quiser carregar num clique, não para lhe cobrar em silêncio. Duram três meses: são para experimentar, não para guardar.
Fala com a engenharia
Quatro campos, e nenhuma pergunta sobre volume mensal — a esta altura não o sabe ninguém. Conta-nos o que tens à frente e responde alguém que já montou isto.
As palavras que só se usam na sua casa
Os nomes próprios de uma organização — pessoas, ruas, referências, cargos — são precisamente o que um modelo geral nunca ouviu, e onde falha: troca-os por uma palavra corrente que soa parecido. Escrevem-se uma vez e deixam de falhar. Escrevem-se na sala e valem para todas as suas reuniões.
- É uma lista, não um treino: escreve-se e funciona desde a primeira frase.
- Não recolhe nada. Nem o seu áudio, nem o seu texto, nem um segundo de nada.
- E vai incluído. Não é um plano a mais nem uma linha de fatura.