Detektor jazyka vždy dá odpověď, i na zakašlání. U čistého nebo smíšeného zvuku nechte detekci zapnutou a jazyk zadejte, když se jedním jazykem mluví přes hluk nebo silný přízvuk.
Každý přepis začíná otázkou, kterou čtenář nikdy neuvidí: jakým jazykem se tu mluví? Když ji zodpovíte špatně, zbytek zpracování pracně vytváří plynulý nesmysl. Tento článek vysvětluje, čeho si detektor jazyka všímá, jak se detekce chová u živého zvuku a u souborů a kdy je lepší jazyk zadat ručně.
Detektor jazyka nerozumí tomu, co se říká. Sleduje samotný zvuk: soubor souhlásek a samohlásek, to, kde jsou v slabikách přízvuky, rytmus frází a krátká, často se opakující slova, na nichž každý jazyk stojí. Španělština má vlastní soubor samohlásek a vlastní rytmus; nizozemština a němčina sdílejí hodně, ale na několika hláskách se rozcházejí. Pár vteřin zřetelné řeči na jejich rozlišení obvykle stačí.
Mnohé rozpoznávače to dělají jako vedlejší produkt rozpoznávání slov. Jazyk určují z počátku nahrávky jako pravděpodobnost pro každý jazyk, který znají. Z této konstrukce plynou dvě věci. Pravděpodobnosti se vždy sečtou na jedničku, takže neexistuje odpověď „žádný jazyk“: ticho, zakašlání nebo hudební znělka dostane také jazyk, často s přesvědčivým skóre. A rozhoduje se z úvodu, což je nejhorší vzorek, jaký si lze vybrat. Mnohé nahrávky začínají pozdravy, jmény a názvy míst, které nesou jen malý jazykový signál: „Dobré ráno, Mario, vítejte v Berlíně“ je téměř stejně německé jako anglické. Jiné začínají ticho nebo zakašláním a detektor, kterého se žádá, aby rozhodl právě podle toho, rozhodne přesto, sebejistě, a to na základě ničeho. Totéž se děje i se skutečným zvukem: rumunské kázání, které začíná šumem místnosti a slovy „Bună dimineața“, lze s naprostou jistotou slyšet jako italské „Buona domenica“.
Cena špatné odpovědi je také horší, než se zdá. Rozpoznávač, který dekóduje v nesprávném jazyce, neudělá pravopisnou chybu; text přepíše. „For God so loved the world“, dekódováno jako rumunština, vyšlo jako „Forgot to love the world“. Rumunské „mândria slujește“, dekódované jako angličtina, vyšlo jako „Pride serves“, což je přesný překlad věty, o jehož přeložení nikdo nepožádal. Slova jsou plynulá a přepis nedává žádné znamení, že je něco špatně, a právě to chybu dělá drahou.
Pět věcí detektory mámí nejčastěji:
Který z nich vás zasáhne, záleží na tom, zda zvuk přichází živě, nebo už leží v souboru.
U živého přepisu není celá nahrávka, na kterou by se dalo podívat. Zvuk přichází tak, jak zaznívá, a přepis musí přicházet s ním. Jazyk se proto detekuje, jak mluvčí mluví, a sleduje se, pokud přepne. Toto znamená poznámka pod přepínačem Spoken language, když v ovládacím panelu spustíte živý přepis: jazyk mluvčího se detekuje automaticky a mluvčí může kdykoli přepnout.
Přepnutí se před použitím potvrdí, takže jeden hlučný úsek nestáhne přepis do jiného jazyka. Slabé místo je začátek: pokud jsou první slova hlučný pozdrav, první řádek může vyjít ve špatném jazyce. Tomu se vyhnete, když jazyk zadáte.
U souborů je to jinak, protože celá nahrávka je už k dispozici.
Soubor je snazší úloha: není třeba věřit prvním vteřinám. U souboru se jazyk určuje z nahrávky jako celku, takže hlučný pozdrav na začátku ji nemůže rozhodnout.
Jazyk souboru je i tak pracovní předpoklad, ne konečný verdikt. Nahrávka, která se v polovině opravdu změní na jiný jazyk, například rozhovor, který se ve druhé půlce přesune z angličtiny do rumunštiny, se sleduje, a nevnucuje se jí jeden jazyk. Zpracuje se i nahrávka, která se v celém průběhu střídá mezi jazyky.
Detektor, který rozhodne jednou a nikdy se neohlédne, je sebejistý na špatném místě.
Když je celá nahrávka hlučná, žádný detektor moc nepomůže. Detekce je výchozí volba, protože je ve většině případů správná a nic vás nestojí. U některých nahrávek byste ale jazyk zadat měli a ovládací panel říká, kterých: zadání mluveného jazyka zlepšuje přesnost u hlučných nahrávek a silných přízvuků.
Právě v těchto případech má detekce nejméně podkladů. Hluk odstraní znaky, na nichž detektor závisí; silný přízvuk je posune k jinému jazyku; příbuzná dvojice nabízí od začátku jen málo znaků. Mluvčí angličtiny se silným portugalským přízvukem v hale s dozvukem se jen podle zvuku těžko zařazuje, a pokud ho detektor zařadí špatně, přepis mění anglickou řeč v portugalštinu po celou dobu, dokud chyba trvá. Zadáním jazyka se otázka odstraní, takže veškeré úsilí jde do slov.
Krátký kontrolní seznam:
Zadání jazyka je nastavením přepisu, ne účtu, takže se můžete rozhodnout pro každou nahrávku zvlášť. Všechno výše uvedené se dá shrnout do jedné možnosti API.
spokenLanguage znamená detekci; session.update během přenosuV API je spokenLanguage kód jazyka, například en; pokud ho vynecháte, jazyk se detekuje. Objevuje se v settings přepisu souboru nebo odkazu a v možnostech relace v reálném čase. Detekce a zadání se vztahují na stejných 100 jazyků. Překlad do až 10 z nich je samostatná volba a nezávisí na tom, který jazyk byl detekován nebo zadán. Tomu, jak překlad drží krok s řečí, se věnuje článek Latence živého překladu, vysvětleno.
{ "name": "Board meeting", "settings": { "spokenLanguage": "en", "speakerLabels": "auto" } }
Relace v reálném čase přijme stejnou možnost při vytvoření a lze ji změnit, zatímco zvuk proudí. Textový rámec session.update s novým spokenLanguage platí od té chvíle pro řeč; nastavení na "" nebo "auto" vrátí relaci k detekci a nepodporovaný kód se ignoruje. Zobrazení titulků s tlačítkem jazyka může obsluze umožnit zadat jazyk ve chvíli, kdy uvidí špatný první řádek, bez nového připojení.
{ "type": "session.update", "spokenLanguage": "ro" }
Seznam kódů s jejich názvy je na GET /v1/languages, který nevyžaduje klíč. Celý postup pro relaci v reálném čase, od vytvoření relace na vašem serveru po čtení průběžných a potvrzených částí přepisu, je v článku Přepis v reálném čase přes WebSocket, interaktivní reference je na {{api}}/docs. V ovládacím panelu je stejnou volbou přepínač Spoken language, když spustíte nový přepis, a klíče k API najdete v sekci Vývojáři.