Un detector de idioma sempre dá unha resposta, mesmo ante unha tose. Deixa a detección activada para audio limpo ou con varios idiomas, e nomea o idioma cando se fala un só sobre ruído ou cun acento marcado.
Toda transcrición comeza cunha pregunta que o lector nunca ve: en que idioma é isto? Se se equivoca, o resto do proceso esfórzase por producir un disparate fluído. Este artigo explica o que escoita un detector de idioma, como se comporta a detección no audio en directo e nos ficheiros, e cando é mellor nomear o idioma un mesmo.
Un detector de idioma non entende o que se di. Fíxase no son en si: o inventario de consoantes e vogais, como se acentúan as sílabas, o ritmo das frases e as palabras curtas e frecuentes das que se apoia cada lingua. O español ten o seu propio conxunto de vogais e ritmo; o neerlandés e o alemán comparten moito, pero separanse en algúns sons. Uns poucos segundos de fala clara bastan normalmente para distinguilos.
Moitos recoñecedores fano como un subproduto de recoñecer as palabras. Deciden o idioma a partir do inicio do audio, como unha probabilidade para cada idioma que coñecen. Este deseño ten dúas consecuencias. As probabilidades sempre suman un, así que non existe a resposta «ningún idioma»: o silencio, unha tose ou unha sintonía musical breve tamén reciben un idioma, con frecuencia cunha puntuación segura. E a decisión tómase co inicio, que é a peor mostra que se podería escoller. Moitas gravacións comezan con saúdos, nomes e topónimos, que levan moi pouca información de idioma: «Bo día, María, benvida a Berlín» é case tan alemá como inglesa. Outras comezan con silencio ou cunha tose, e un detector ao que se lle pide que decida sobre iso decidirá igualmente, con seguridade, sobre case nada. O audio real tamén o fai: un sermón en romanés que comeza con ruído de sala e «Bună dimineața» pode oírse sen dúbida como o italiano «Buona domenica», con total seguridade.
O custo dunha resposta equivocada tamén é peor do que parece. Un recoñecedor que descodifica nunha lingua equivocada non escribe mal as palabras; reescríbeas. «Porque Deus amou tanto o mundo», descodificado como romanés, saíu como «Esqueceu amar o mundo». O romanés «mândria slujește», descodificado como inglés, saíu como «A soberbia serve», que é unha tradución exacta dunha frase que ninguén pediu traducir. As palabras son fluídas e a transcrición non dá sinal de que algo vai mal, e iso é o que fai o erro caro.
Cinco cousas enganan aos detectores con máis frecuencia:
Cal destes problemas che afecta depende de se o audio chega en directo ou xa está nun ficheiro.
Nunha transcrición en directo non hai unha gravación completa que mirar. O audio chega segundo se fala, e a transcrición tiña que chegar con el. Polo tanto, o idioma detéctase mentres o falante fala, e sígueo se cambia. Isto é o que significa a nota baixo o interruptor Spoken language cando comezas unha transcrición en directo no panel: o idioma do falante detéctase automaticamente, e pode cambiar en calquera momento.
Un cambio confírmase antes de aplicarse, así que un anaco de ruído non arrastra a transcrición a outra lingua. O punto débil é o inicio: se as primeiras palabras son un saúdo con ruído, a primeira liña pode saír na lingua equivocada. Nomear o idioma evita iso.
Os ficheiros funcionan de forma diferente, porque a gravación completa xa está aí.
Un ficheiro é un problema mellor: non hai que confiar nos primeiros segundos. Nun ficheiro, o idioma decídese a partir da gravación no seu conxunto, así que un saúdo con ruído ao principio non pode decidilo.
O idioma do ficheiro segue sendo unha suposición de traballo, non un veredicto. Unha gravación que cambia de idioma de verdade a media, como unha entrevista que pasa do inglés ao romanés na segunda metade, sígue en vez de forzarse, e tamén se xestiona unha que alterna idiomas ao longo de todo o audio.
Un detector que decide unha vez e nunca volve atrás está seguro no lugar equivocado.
Ningún detector axuda moito cando toda a gravación é ruidosa. A detección é a opción por defecto porque acerta a maior parte das veces e non che custa nada. Pero en algunhas gravacións convén nomear o idioma, e o panel indica cales son: nomear o idioma falado mellora a precisión en gravacións con ruído e en acentos marcados.
Estes son os casos nos que a detección ten menos onde apoiarse. O ruído elimina as pistas nas que depende un detector; un acento marcado despraza as vogais cara a outra lingua; un par de linguas próximas ofrece pouco que escoitar desde o principio. Un falante inglés cun forte acento portugués nunha sala con eco é difícil de situar só polo son, e se o detector o sitúa mal, a transcrición convirte a fala en inglés en portugués durante todo o tempo que dure o erro. Nomear o idioma elimina a pregunta, e todo o esforzo vai para as palabras.
Unha lista breve:
Nomear o idioma é unha configuración da transcrición, non da túa conta, así que podes decidilo gravación por gravación. Todo o anterior se reduce a unha opción da API.
spokenLanguage ausente significa detectar; session.update a media transmisiónNa API, spokenLanguage é un código de idioma como en; se o omites, o idioma detéctase. Aparece no settings dunha transcrición de ficheiro ou ligazón e nas opcións dunha sesión en tempo real. A detección e a nomeación cobren os mesmos 100 idiomas. A tradución a ata 10 deles é unha escolla á parte, e non depende de qué idioma se detectou ou se nomeou. Como a tradución segue o ritmo da fala é o tema de Latencia da tradución en directo, explicada.
{ "name": "Board meeting", "settings": { "spokenLanguage": "en", "speakerLabels": "auto" } }
Unha sesión en tempo real acepta a mesma opción ao crearse, e podes cambiala mentres o audio está a fluír. Un marco de texto session.update cun novo spokenLanguage aplícase á fala desde ese momento; se o defines como "" ou "auto", a sesión volve á detección, e un código non admitido ignórase. Unha vista de subtítulos cun botón de idioma pode permitir que o operador nomee o idioma no momento en que vea unha primeira liña errada, sen reconectar.
{ "type": "session.update", "spokenLanguage": "ro" }
A lista de códigos, cos seus nomes, está en GET /v1/languages, que non precisa clave. O fluxo completo en tempo real, desde a creación dunha sesión no teu servidor ata a lectura de borradores e confirmacións, está en Transcrición en tempo real por WebSocket, e a referencia interactiva está en {{api}}/docs. No panel, a mesma opción é o interruptor Spoken language cando iniciar unha nova transcrición, e as claves da API están en Developers.