Детектор језика увек даје одговор, чак и на кашаљ. Оставите детекцију укљученом за чист или мешани звук, а језик наведите када се говори један језик уз буку или јак акценат.
Свака транскрипција почиње питањем које читалац никада не види: на ком је језику ово? Ако се погреши, остатак процеса вредно ради на производњи течне глупости. Овај чланак објашњава на шта детектор језика слуша, како се детекција понаша за звук уживо и за фајлове и када је боље да сами наведете језик.
Детектор језика не разуме шта се говори. Гледа сам звук: инвентар сугласника и самогласника, како се слогови наглашавају, ритам фраза и кратке, честе речи на којима се ослања сваки језик. Шпански има свој скуп самогласника и свој ритам; холандски и немачки деле много тога, али се разилазе у неколико гласова. Неколико секунди јасног говора обично је довољно да их разликује.
Многи препознавачи то раде као споредни производ препознавања речи. Језик одређују из почетка снимка, као вероватноћу за сваки језик који познају. Из такве конструкције следе две ствари. Вероватноће увек дају збир један, па не постоји одговор „никакав језик“: тишина, кашаљ или музички уводник добију језик, често уз уверљиву оцену. А одлука се доноси на основу почетка, што је најгори узорак који се може изабрати. Многи снимци почињу поздравима, именима и називима места, који носе врло мало језичког сигнала: „Good morning, Maria, welcome to Berlin“ је готово једнако немачки колико и енглески. Други почињу тишином или кашљем, а детектор којег замолите да одлучи на основу тога одлучиће ипак, са сигурношћу, а ни на чему. Стварни звук то такође ради: румунска проповед која почиње шумом у просторији и са „Bună dimineața“ може врло лако бити препозната као италијанско „Buona domenica“, с потпуном сигурношћу.
Цена погрешног одговора је такође гора него што звучи. Препознавач који декодира на погрешном језику не погреши у писању; он преписује. „For God so loved the world“, декодирано као румунски, постало је „Forgot to love the world“. Румунско „mândria slujește“, декодирано као енглески, постало је „Pride serves“, што је тачан превод реченице коју нико није тражио да се преведе. Речи су течне, а транскрипт не показује ниједан знак да нешто није у реду, и управо зато грешка кошта.
Пет ствари најчешће завара детекторе:
Који од ових проблема вас погађа зависи од тога да ли звук долази уживо или већ стоји у фајлу.
За транскрипцију уживо нема целог снимка да се погледа. Звук стиже док се говори, а транскрипт мора да стигне заједно с њим. Зато се језик детектује док говорник прича и прати се ако промени језик. То значи белешка испод прекидача Spoken language када на контролној табли покренете транскрипцију уживо: језик говорника се детектује аутоматски, а он може да промени језик у било ком тренутку.
Промена се потврђује пре примене, тако да једна бучна мрља не одвуче транскрипт на други језик. Слаба тачка је почетак: ако су прве речи бучан поздрав, први ред може да изађе на погрешном језику. Навођење језика то спречава.
Фајлови функционишу другачије, јер је цео снимак већ ту.
Фајл је лакши проблем: није потребно веровати првим секундама. За фајл се језик одређује из снимка у целини, тако да бучни поздрав на почетку не може да га реши.
Језик фајла је и даље радна претпоставка, а не коначна пресуда. Снимак који стварно промени језик у средини, као интервју који се са енглеског пређе на румунски у другој половини, прати се уместо да буде присиљен на један језик, а онај који наизменично мења језике кроз цео снимак такође је обрађен.
Детектор који одлучи једном и никад се не осврне јесте сигуран на погрешном месту.
Ниједан детектор не помаже много када је цео снимак бучан. Детекција је подразумевана јер је у већини случајева тачна и ништа не кошта. За неке снимке, међутим, треба навести језик, а контролна табла каже који: навођење говорног језика побољшава тачност на бучним снимцима и јаким акцентима.
То су случајеви у којима детектор има најмање чиме да ради. Бука уклања сигнале на које се детектор ослања; јак акценат их помера ка другом језику; блиско сродан пар нуди мало сигнала од почетка. Говорник енглеског са јаким португалским акцентом у реверберантној дворани тешко се може сместити само по звуку, а ако га детектор погрешно смести, транскрипт претвара енглески говор у португалски докле год грешка траје. Навођење језика уклања питање, па цео напор иде у речи.
Кратак списак:
Навођење језика је подешавање транскрипције, а не вашег налога, па можете одлучивати за сваки снимак посебно. Све горе наведено своди се на једну API опцију.
spokenLanguage изостављен значи детекцију; session.update усред токаУ API-ју, spokenLanguage је код језика, као en; ако се изостави, језик се детектује. Појављује се у settings фајла или линка за транскрипцију и у опцијама сесије у реалном времену. Детекција и навођење покривају исти скуп од 100 језика. Превод на до 10 њих је посебан избор и не зависи од тога који је језик детектован или наведен. О томе како превод прати говор пише у чланку Кашњење превода уживо, објашњено.
{ "name": "Board meeting", "settings": { "spokenLanguage": "en", "speakerLabels": "auto" } }
Сесија у реалном времену узима исту опцију кад се креира, а можете је променити док тече звук. Текстуални фрејм session.update с новим spokenLanguage примењује се на говор од тада; ако се постави на "" или "auto", сесија се враћа на детекцију, а непознат код се занемари. Приказ титлова са дугметом за језик може оператеру омогућити да наведе језик чим види погрешан први ред, без поновног повезивања.
{ "type": "session.update", "spokenLanguage": "ro" }
Листа кодова, са њиховим именима, налази се на GET /v1/languages, којем није потребан кључ. Цео ток рада у реалном времену, од креирања сесије на вашем серверу до читања нацрта и потврђених делова, описан је у Транскрипција у реалном времену преко WebSocket-а, а интерактивна референца је на {{api}}/docs. На контролној табли исти избор је прекидач Spoken language када покренете нову транскрипцију, а кључеви за API налазе се под Developers.