ELEKTROTEHNIŠKI VESTNIK 92(5): 261–269, 2025 IZVIRNI ZNANSTVENI ˇ CLANEK Sistem za podnaslavljanje slovenskega govora za gluhe in naglušne Blaž Kovaˇ ciˇ c, Janez Brest, Borko Boškovi´ c Univerza v Mariboru, Fakulteta za elektrotehniko, raˇ cunalništvo in informatiko, Koroška cesta 46, 2000 Maribor, Slovenija E-pošta: blaz.kovacic@student.um.si Povzetek. Razvili smo rešitev za gluhe in naglušne osebe v obliki aplikacije, imenovane UHO. Rešitev s pomoˇ cjo lokalnega modela razpoznave govora omogoˇ ca realnoˇ casovni prikaz podnapisov slovenskega govora, ki se predvaja na napravi. V ta namen smo s pomoˇ cjo govornega korpusa Artur 1.0 uˇ cili modele za razpoznavo govora. Uˇ cenje je potekalo na superraˇ cunalniku VEGA, kjer smo na testni množici za veˇ cji model base dosegli stopnjo napaˇ cno razpoznanih besed 11,38% in 15,19% za manjši model tiny. Realnoˇ casovno izvedbo smo zagotovili z uporabo ustreznih zaledij za sklepanje z modeli in s pristopom optimizacije dekodiranja žetonov, ki ga imenujemo aditivno dekodiranje. Rezultati so spodbudni in kažejo, da realnoˇ casovna razpoznava daje primerljive rezultate kot razpoznava celotnih posnetkov naenkrat. Kljuˇ cne besede: Realnoˇ casovna razpoznava govora, okvara sluha, samodejno podnaslavljanje, strojno uˇ cenje Slovenian speech captioning system for deaf and hard of hearing We developed a solution for deaf and hard of hearing in the form of an application, called UHO. The solution uses a local speech recognition model to display real-time captions of Slovenian speech that is being played on the device. For this purpose, we used the speech corpus Artur 1.0 to train the speech recognition models. We trained the models on the VEGA supercomputer, where we achieved word error rates of 11.38% for the larger base model and15.19% for the smaller tiny model. We ensured real-time execution by using appropriate model inference backends and by using a token decoding optimization approach that we call additive decoding. Results are promising, indicating that real-time speech recognition can give comparable results to recognition of full-length audio samples. 1 UVOD Okvara sluha spada med eno izmed najtežjih oblik invalidnosti [2]. V Sloveniji o veˇ cjih težavah s sluhom poroˇ ca 5,7% populacije [3]. Prav tako veˇ c kot 5% svetovne populacije zaradi okvare sluha potrebuje rehabilitacijo. Do okvare sluha lahko pride na veˇ c naˇ cinov. Med te sodijo npr. težave v obdobju pred ali med rojstvom, kroniˇ cne okužbe ušes, poslabšanje sluha zaradi starosti, izpostavljenost glasnim zvokom in podobno. Gluhim in naglušnim lahko vsakdanje situacije predstavljajo velik stres, gluhost pa vpliva na kakovost življenja in vodi do socialne izolacije. Poleg tega lahko gluhost negativno vpliva na socialno varnost, delozmožnost, proces izobraževanja, zmožnost Prejet 31. junij, 2025 Odobren 21. oktober, 2025 Avtorske pravice: © 2025 Creative Commons Attribution 4.0 International License komunikacije in poˇ cutje. Pri starejših z okvaro sluha je prav tako lahko prisotna depresija [4]. Gluhe osebe v Sloveniji imajo sicer pravico do tolmaˇ ca, vendar žal le v omejenem obsegu ur (t. i. vavˇ cerjev). Na voljo imajo 30 ur letno, razen dijakov in študentov, ki jim pripada 100 ur letno [5]. Gluhe osebe poudarjajo, da je to premalo [6]. Tehnološki napredek na podroˇ cju umetne inteligence je omogoˇ cil razvoj razliˇ cnih aplikacij za osebe s posebnimi potrebami, kot so [36][37][38]. Razcvet je doživela tudi tehnologija razpoznave govora, ki danes že dosega stopnjo razpoznave, primerljivo s ˇ cloveško sposobnostjo [12]. Preprostejši sistemi razpoznavajo po eno besedo naenkrat (angl. isolated-word speech recognition). To je uporabno npr. pri zaznavi zaˇ cetne besede pri razpoznavi govora (angl. wake word detection) in v sistemih z glasovnimi ukazi [39]. Po drugi strani kompleksnejši sistemi govor razpoznavajo kontinuirano (angl. continuous speech recognition). V našem delu gre za kontinuirano razpoznavo govora. Razpoznava govora na podroˇ cju podporne tehnologije (angl. Assistive Technology) najde uporabno vrednost pri razliˇ cnih podpornih sistemih. Primer tega so programske rešitve podjetja Nuance [16], ki osebam s stanji, kot je kvadriplegija, omogoˇ cajo glasovni nadzor raˇ cunalnika. Obstajajo tudi rešitve, ki gluhim uporabnikom omogoˇ cajo prikaz strojno generiranih podnapisov za zvok, ki se predvaja na napravi. Primer tega je aplikacija “Live captions” [7] podjetja Microsoft, ki je na voljo v okolju operacijskega sistema Windows. Prav tako za naprave z operacijskim sistemom Android obstaja aplikacija “Samodejni podnapisi” [8] podjetja Google. Žal nobena od omenjenih aplikacij ne podpira slovenskega jezika. 262 KOV A ˇ CI ˇ C, BREST, BOŠKOVI ´ C Pogosto so rešitve za razpoznavo govora storitve v oblaku, npr. Google Cloud Speech-to-Text [1]. Razlog za implementacijo razpoznavalnikov govora v oblaku je predvsem raˇ cunska zahtevnost izvajanj velikih modelov strojnega uˇ cenja. Slabosti pa so, da so takšne storitve plaˇ cljive, da porajajo vprašanje o zasebnosti, prav tako pa lahko kakovost dobljenih transkriptov variira. V našem delu smo razvili rešitev * v obliki aplikacije za operacijska sistema Windows in Android, imenovane UHO. Rešitev omogoˇ ca realnoˇ casovno podnaslavljanje slovenskega govora in temelji na uporabi lokalnih modelov Whisper [12] podjetja OpenAI brez potrebe po internetni povezavi. Modele smo na superraˇ cunalniku VEGA douˇ cili (angl. fine-tuning) s pomoˇ cjo slovenskega govornega korpusa Artur 1.0 [9]. V okolju operacijskega sistema Windows smo uporabili veˇ cji model Whisper base, v okolju operacijskega sistema Android pa najmanjši model Whisper tiny. Primer grafiˇ cnega izrisa podnapisov ob predvajanju doloˇ cenega podkasta prikazuje slika 1. Podnapisi se sproti izpisujejo v sivem polju na dnu zaslona, ne glede na to, katero okno je v ospredju. V aplikaciji UHO za operacijski sistem Windows smo implementirali sklepanje (angl. inference) na centralni procesni enoti (CPE), da bi aplikacija lahko delovala na ˇ cim širšem naboru raˇ cunalnikov. V aplikaciji za operacijski sistem Android smo pri sklepanju omogoˇ cili Androidov aplikacijski programski vmesnik za nevronske mreže (Android Neural Networks API – NNAPI), ki sam doloˇ ci, katere operacije bodo pri sklepanju potekale na CPE in katere na grafiˇ cni procesni enoti (GPE). Modeli Whisper na vhodu zahtevajo 30-sekundni posnetek oz. pripadajoˇ c log-mel spektrogram. To je predstavitev zvoˇ cnega signala v frekvenˇ cnem prostoru, ki s pomoˇ cjo logaritmiˇ cno razporejenega sklopa filtrov daje veˇ cji poudarek signalu pri višjih frekvencah. ˇ Ce torej v scenariju realnoˇ casovne razpoznave z modelom sklepamo približno vsaki 2 sekundi, še zmeraj obstaja 28-sekundno prekrivanje govora med trenutno in prejšnjo iteracijo sklepanja. To pri dekodiranju žetonov prinaša veliko redundanco, saj je veˇ cina žetonov med iteracijama enaka. Za namen zmanjšanja redundance smo implementirali pristop, kjer smo v t. i. poziv (angl. prompt) modela podali dekodirane žetone iz prejšnje iteracije sklepanja. Tako smo izraˇ cunali le na novo pridobljene žetone in pri dekodiranju prihranili veliko procesorskega ˇ casa. Ta intuitivni pristop imenujemo aditivno dekodiranje in ga podrobneje opišemo v nadaljevanju. V rešitvi UHO za operacijski sistem Windows smo za sklepanje uporabili knjižnico CTranslate2 [21]. CTranslate2 omogoˇ ca uˇ cinkovito sklepanje z modeli transformerjev in je na voljo za programska jezika C++ in Python. Zaradi potrebe po veˇ cji fleksibilnosti pri postopku aditivnega dekodiranja smo skozi analizo ∗ Programska koda rešitve je na voljo na https://github.com/obstino -org/uho, nauˇ ceni modeli in uˇ cni podatki pa na https://huggingface.co /blko. Slika 1 Demonstracija podnaslavljanja naše aplikacije UHO za operacijski sistem Windows, na primeru zvoˇ cne vsebine doloˇ cenega podkasta. knjižnice namesto višjenivojskih rutin uporabili doloˇ cene nižjenivojske rutine knjižnice. Po drugi strani smo v rešitvi za operacijski sistem Android sklepali s pomoˇ cjo knjižnice ONNX (angl. Open Neural Network Exchange) [25]. Modele Whisper smo douˇ cili s Pythonovo knjižnico HuggingFace Transformers [26], ki pa uporablja modele tipa pytorch [27], zato je bilo treba modele pretvoriti iz tipa pytorch v tip ONNX. Pri tem smo dodatno implementirali pomembno tehniko za pohitritev sklepanja z dekodirnikom, imenovano KV-predpomnjenje (angl. Key-Value Caching – KV Caching – predpomnjenje kljuˇ cev in vrednosti). Pri vrednotenju rezultatov smo uporabili znano metriko stopnje napaˇ cno razpoznanih besed (angl. Word Error Rate – WER), ki je definirana [14] z enaˇ cbo (1). V enaˇ cbi I (angl. Insertions), D (angl. Deletions) in S (angl. Substitutions) predstavljajo število vstavljenih, izbrisanih in zamenjanih besed v razpoznanem besedilu. N predstavlja število besed v referenˇ cnem (dejansko izgovorjenem) besedilu. WER= I +D+S N ×100[%] (1) ˇ Clovek razpoznava z vrednostjo WER okoli 4% [23], medtem ko bi bila vrednost WER pri razpoznavi govora v idealnem primeru 0%. Pregled vrednosti WER, ki jih na razliˇ cnih govornih korpusih dosegajo razliˇ cni modeli strojnega uˇ cenja, je podan v [30]. Struktura ˇ clanka je sledeˇ ca. V poglavju 2 ˇ clanka opišemo sorodna dela. Nato v poglavju 3 opišemo, kako uporabljamo modele Whisper, kjer med drugim podrobneje opišemo naš pristop aditivnega dekodiranja. Sledi poglavje 4, kjer opišemo naˇ cin uˇ cenja modelov. Rezultate uˇ cenja predstavimo v poglavju 5. V poglavju 6 sledi predstavitev rezultatov realnoˇ casovne razpoznave, kot so meritve ˇ casov sklepanja z modeli, toˇ cnost realnoˇ casovne razpoznave in primerjava rezultatov s sorodnimi deli. V zadnjem poglavju 7 povzamemo ugotovitve in prispevke našega dela ter opišemo smernice za nadaljnje delo. SISTEM ZA PODNASLA VLJANJE SLOVENSKEGA GOVORA ZA GLUHE IN NAGLUŠNE 263 2 SORODNA DELA V delu [18] so razpoznavali slovenski govor z nevronskimi mrežami s ˇ casovnim zamikom (angl. Time Delay Neural Network – TDNN) in mrežami z dolgim kratkoroˇ cnim spominom (angl. Long Short-Term Memory). Uporabili so tri razliˇ cne govorne korpuse, med drugim tudi Gos 1.0 [32]. Avtorji so primerjali metode, temeljeˇ ce na nevronskih mrežah s statistiˇ cno osnovanim pristopom skritih modelov Markova v kombinaciji z mešanicami Gaussovih porazdelitev (angl. Hidden Markov Models, Gaussian Mixture Models). Najboljše rezultate na testni množici so dosegli s TDNN, in sicer z vrednostjo WER 27,16% . V nasprotju z našim delom so avtorji uporabili prilagojene arhitekture nevronskih mrež, medtem ko v našem delu Whisper temelji na arhitekturi transformer. Prav tako so pri uˇ cenju uporabili relativno manjše uˇ cne množice v skupnem obsegu približno 140 ur. Zanimivo je delo [17], v katerem so avtorji razpoznavali slovenski govor za domeno dnevnoinformativnih oddaj. Avtorji so za razpoznavo govora uporabili nevronsko mrežo in loˇ cen trigramski jezikovni model z velikostjo slovarja 250.000 besed. Nevronsko mrežo so uˇ cili z manjšo koliˇ cino zvoˇ cnih posnetkov v obsegu 66 ur in dosegli vrednost WER 15,71% . Avtorji so v nasprotju z našim delom uporabljali loˇ cen akustiˇ cni in jezikovni model. Rešitev avtorjev je dosegla relativno nizko vrednost WER. Obstaja pa verjetnost, da njihov model ne bi deloval tako uspešno na posnetkih zunaj domene dnevnoinformativnih oddaj. Obstaja tudi delo Online Notes [33], v katerem so za študente iz tujine in študente s posebnimi potrebami razvili sistem za realnoˇ casovno prevajanje in podnaslavljanje govora. Govor so razpoznavali in prevajali v oblaku. Avtorji poroˇ cajo o vrednosti WER 20%, ki so jo dosegli ob prvem predavanju v sklopu semestrskega testiranja. V delu Online Notes v nasprotju z našo rešitvijo govora niso razpoznavali lokalno na napravi, temveˇ c v oblaku. Prav tako so morali svoj jezikovni model sproti prilagajati vsebini predavanj. Z realnoˇ casovno razpoznavo z modeli Whisper so se ukvarjali v delu Whisper-Streaming [19]. Avtorji so, podobno kot mi, uporabljali pristop, kjer so doslej dekodirane žetone dali modelu na vhodu kot poziv. Implementacija njihove rešitve periodiˇ cno zajema nov zvok govora. V zadnjih dveh iteracijah zajema zvoka in razpoznave govora obstaja prekrivanje žetonov, ki so bili dekodirani. Prekrivajoˇ ci se žetoni se štejejo kot potrjen transkript. To dosežejo s pomoˇ cjo t. i. algoritma lokalnega soglasja (angl. Local Agreement) [31]. S pomoˇ cjo informacije o ˇ casovnih oznakah ob zaznavi loˇ cila nato krajšajo zvoˇ cni medpomnilnik do ˇ casovne oznake loˇ cila. S tem zagotovijo, da medpomnilnik vselej vsebuje zgolj eno poved. Rešitev Whisper-Streaming v nasprotju z našo za uspešno delovanje potrebuje model, ki vsebuje ˇ casovne oznake na nivoju besed in napoveduje loˇ cila. To lahko pomeni oviro pri implementaciji rešitve, saj korpusi, kot je Artur 1.0, ne vsebujejo ˇ casovnih oznak na nivoju besed. Prav tako so avtorji uporabljali veˇ cje modele in jih izvajali na GPE, medtem ko je naša rešitev zasnovana na uporabi manjših modelov in sklepanja na CPE. 3 MODELI WHISPER Modele Whisper je podjetje OpenAI predstavilo in odprtokodno dalo na razpolago leta 2022 [12]. Modeli temeljijo na arhitekturi transformerjev in med drugim omogoˇ cajo veˇ cjeziˇ cno razpoznavo govora. Za angleški jezik model whisper-base dosega vrednost WER 5,0% na angleškem korpusu LibriSpeech.test-clean, medtem ko vrednost WER na slovenskem korpusu CommonV oice 9 znaša 70,3% . Ker je slednja vrednost za praktiˇ cno uporabo povsem nesprejemljiva, smo pri našem delu uporabili pristop douˇ cenja modelov. Pri tem smo skripto za uˇ cenje osnovali na [15]. Modeli Whisper so na voljo v razliˇ cnih velikostih [22]. Poznamo tiny (najmanjši), base, small, medium in large (najveˇ cji) * . 3.1 Sklepanje z modeli Modeli Whisper so sestavljeni iz kodirnih in dekodirnih blokov. Z modeli Whisper znaˇ cilno sklepamo tako, da na vhodu kodirnika podamo log-mel spektrogram 30-sekundnega posnetka. S kodirnikom za dan posnetek sklepamo zgolj enkrat, nato pa z dekodirnikom sklepamo veˇ ckrat – enkrat za vsak nov izhodni žeton. Izhodni žetoni so del slovarja Whisper, ki vsebuje 51.865 podbesednih enot (delov besed). Z dekodirnikom sklepamo tako, da mu na vhodu podamo izhod kodirnika in do zdaj dekodirane žetone – t. i. poziv. Poziv daje dekodirniku kontekst za izraˇ cun naslednjega izhodnega žetona. Na zaˇ cetku dekodiranja je v našem primeru poziv sestavljen iz zaporedja žetonov “<|startoftranscript|><|sl|> <|transcribe|>” [34], ki jim pripadajo numeriˇ cni indeksi 50258, 50305, 50359 † . Tukaj “<|sl|>” pomeni oznako, ki pove, da gre za razpoznavo slovenskega jezika. Tipiˇ cno z namenom pridobivanja toˇ cnejših transkripcij uporabljamo pri dekodiranju tudi metodo iskanja z žarki (angl. beam search) [24]. To je pristop, kjer vzporedno preiskujemo veˇ c možnih izhodnih zaporedij žetonov. Število preiskovalnih poti je znano tudi kot število žarkov (angl. beam size). Na koncu izberemo zaporedje z najveˇ cjo verjetnostjo žetonov. 3.2 Predpomnjenje kljuˇ cev in vrednosti Pri sklepanju na operacijskem sistemu Android smo model ONNX prilagodili tako, da omogoˇ ca uporabo ∗ Na voljo so large, large-v2, large-v3 in large-v3-turbo, kjer je slednji optimiziran za hitrost sklepanja. † Indekse žetonov najlažje dobimo s pomoˇ cjo leksikalnega analizatorja knjižnice whisper [35]. 264 KOV A ˇ CI ˇ C, BREST, BOŠKOVI ´ C Slika 2 Prikaz postopka aditivnega dekodiranja. Zeleno: na novo dekodirani žetoni; modro: starejši potrjeni žetoni; rdeˇ ce: zavrženi žetoni. metode t. i. predpomnjenja kljuˇ cev in vrednosti. Kljuˇ ci in vrednosti so vektorji, ki se raˇ cunajo v mehanizmu pozornosti arhitekture transformer. Ker tudi modeli Whisper temeljijo na transformerjih, smo s to tehniko dosegli bistveno pohitritev ˇ casa sklepanja z dekodirnikom. Prilagojeni model dekodirnika tako zdaj na vhodu dodatno sprejema kljuˇ ce in vrednosti iz prejšnje iteracije sklepanja. Dekodirnik nato vrne modificiran nabor kljuˇ cev in vrednosti, ki jih v naslednji iteraciji sklepanja dekodirniku ponovno damo na vhod. Pohitritev dosežemo, saj nam s tem pristopom pri sklepanju ni treba ponovno izraˇ cunavati vseh kljuˇ cev in vrednosti iz prejšnjih iteracij. 3.3 Aditivno dekodiranje Pri razpoznavi govora znaˇ cilno zajemamo zvok vsaki 2 sekundi in ga dodajamo v 30-sekundni medpomnilnik. Naivna implementacija realnoˇ casovne razpoznave govora bi zaradi zahteve modelov Whisper po fiksni 30-sekundni dolžini vhodnih posnetkov vsakiˇ c znova izvajala razpoznavo govora nad celotnimi posnetki. Mi smo se odloˇ cili uporabiti drugaˇ cen, intuitiven pristop, ki ga imenujemo aditivno dekodiranje. Ta pri sklepanju z dekodirnikom omogoˇ ca uporabo oz. vnos informacije žetonov iz prejšnje iteracije sklepanja v trenutno iteracijo. Efektivno to pomeni, da dekodiramo zgolj nove žetone iz trenutne iteracije, in tako poslediˇ cno znatno zmanjšamo število žetonov, ki jih moramo dekodirati. Pristop je ilustriran na sliki 2. Za vsak korak je s pravkotnikom s polno ˇ crto in oznaˇ cbo “zvoˇ cni tok” prikazan 30-sekundni medpomnilnik. Ko zajamemo 2 sekundi novega zvoˇ cnega odseka, ga dodamo na konec medpomnilnika, hkrati pa z zaˇ cetka medpomnilnika odstranimo 2 sekundi zvoka. Zvok, ki še prihaja, je oznaˇ cen s pravokotnikom s ˇ crtkano ˇ crto. Zeleno oznaˇ ceni so žetoni, ki smo jih dekodirali v trenutnem koraku. Rdeˇ ce oznaˇ ceni so žetoni na zaˇ cetku in koncu, ki smo jih zavrgli. Žetone na zaˇ cetku zavržemo zato, ker nam je model zanje vrnil nizke verjetnosti in sklepamo, da v medpomnilniku ni veˇ c pripadajoˇ cega zvoka. Žetone na koncu pa zavržemo, ker je stavek na koncu zvoˇ cnega toka pogosto odrezan sredi zadnje besede in poslediˇ cno napaˇ cno razpoznan. Imamo tudi modro oznaˇ cene žetone, to so žetoni, ki smo jih dekodirali v prejšnjih iteracijah. Poziv v naslednjem koraku je sestavljen iz spajanja modrih in zelenih žetonov prejšnje iteracije. Ko ob zajemu novega zvoka krajšamo zaˇ cetek zvoˇ cnega medpomnilnika, zaˇ cetek posnetka morda ne bo veˇ c vseboval vsebine govora iz prejšnjih iteracij sklepanja. Kot omenjeno, nam bo dekodirnik v naslednji iteraciji sklepanja za žetone odstranjenega zvoka vrnil zelo nizko verjetnost. Te žetone odstranjujemo na nekoliko podoben naˇ cin kot avtorji v [12] zaznavajo t. i. halucinacije (angl. hallucinations) [13], s pomoˇ cjo izraˇ cuna verjetnosti žetonov. Natanˇ cneje, pri našem pristopu odstranjujemo žeton na prvem indeksu, dokler je povpreˇ cje logaritmov verjetnosti prvih 5 žetonov manjše od doloˇ cenega praga. Podobno s pomoˇ cjo izraˇ cuna logaritma verjetnosti zadnjih 5 žetonov tudi odstranjujemo rdeˇ ce oznaˇ cene žetone s konca transkripcij, kar lahko vidimo na sliki 2. Dodatno s konca odstranjujemo žetone, dokler ti vsebujejo neabecedne simbole. To je koristno, saj model zaradi prekinjenega govora kot zadnji simbol pogosto napove loˇ cilo, ˇ ceprav se stavek še nadaljuje. Poleg tega s konca odstranimo še backPopExtra = 3 žetone, saj je zadnji stavek razpoznanega govora zaradi odsekovne narave zajema zvoka pogosto odrezan sredi besede. Poslediˇ cno to pomeni, da bi dobili napaˇ cne transkripcije, ˇ ce teh žetonov ne bi odstranili. 3.4 Praktiˇ cni izzivi in rešitve Modeli Whisper so dovzetni predvsem za pojav t. i. halucinacij [12], kjer model napoveduje besede, ki jih ni v zvoˇ cnem posnetku. Pogosto se to zgodi, ko je na posnetku tišina, lahko pa se tudi sicer. Halucinacije se lahko pojavijo kot nakljuˇ cne besede ali kot neprekinjen niz ponavljajoˇ cih se besed (angl. repeat loops [12]) kot npr. “da je bilo je bilo je bilo...”. Halucinacije smo v našem delu zaznavali s pomoˇ cjo preverjanja verjetnosti žetonov, saj imajo pogosto nižjo verjetnost. Dodatno smo jih zaznavali z merjenjem kompresijskega razmerja izhodnega transkripta, kajti ponavljajoˇ ce se besede v halucinacijah imajo višje kompresijsko razmerje. Pri tem smo se zgledovali po pristopu avtorjev [12]. Kadar halucinacije zaznamo, nastavimo žetone poziva na prazen seznam in 30-sekundni zvoˇ cni medpomnilnik na niˇ celne SISTEM ZA PODNASLA VLJANJE SLOVENSKEGA GOVORA ZA GLUHE IN NAGLUŠNE 265 vrednosti. S tem zagotovimo nadaljevanje dekodiranja, žal pa poslediˇ cno doloˇ cen del govora ne bo razpoznan. Dodaten izziv je tudi situacija, pri kateri pride do zastoja pri dekodiranju in model namesto napovedi novega žetona napove žeton za konec razpoznanega besedila (<|endoftext|>). Opažali smo, da do tega pogosto pride pri menjavi govorca znotraj zajetega zvoka. Videli smo, da je ta neželeni pojav mogoˇ ce zmanjšati z odstranjevanjem odsekov daljših tišin z detektorjem glasovne aktivnosti (angl. V oice Activity Detector – V AD) ‡ . V ta namen smo v našem delu uporabili model Silero V AD [20]. Prav tako smo s pomoˇ cjo V AD detektirali, kdaj je v posnetku 3-sekundna tišina, ob pojavitvi katere smo resetirali poziv in zvoˇ cni medpomnilnik. 4 U ˇ CENJE 4.1 Opis korpusa Artur 1.0 Korpus Artur 1.0 [9] vsebuje 1.067 ur slovenskega govora, od katerih je 884 ur transkribiranih. Korpus med drugim vsebuje posnetke branega govora iz korpusa Gigafida 2.0, posnetke parlamentarnega govora ter posnetke javnega in nejavnega govora. Mi smo pri uˇ cenju od tega uporabili 832 ur – pri tem nismo vkljuˇ cili studio posnetkov enega govorca. Korpus za vse posnetke govora vsebuje t. i. standardizirane in pogovorne zapise transkriptov. Primer pogovornega zapisa transkripta iz korpusa je “Res je, da je predlog zakona naraunan za tisto kategorijo, ki je najbol ogrožena.” Pripadajoˇ ci transkript v standardiziranem zapisu je “Res je, da je predlog zakona naravnan za tisto kategorijo, ki je najbolj ogrožena.” V našem delu smo se pri uˇ cenju odloˇ cili za uporabo standardiziranih transkripcij. Korpus sicer nima ˇ casovnih oznak na nivoju besed, kjer bi za vsako besedo vedeli, kdaj se je pojavila v posnetku, vsebuje pa ˇ casovne oznake na nivoju skupkov besed oz. stavkov. Pri uˇ cenju z do 30 sekund dolgimi posnetki smo se odloˇ cili za dodajanje žetona s ˇ casovno oznako z dolžino trajanja posnetka na konec zaporedja uˇ cnih žetonov. ˇ Ce je bilo trajanje posnetka na primer17,4 sekunde, smo pripeli žeton z oznako<|17.40|>. To je mogoˇ ce, saj imajo modeli Whisper rezervirane žetone za ˇ casovne oznake, smiselno pa se nam je zdelo, saj obstaja argument, da vkljuˇ citev ˇ casovnih oznak lahko prepreˇ cuje pojav halucinacij. Transkripcije so v formatu .trs orodja za transkribiranje Transcriber 1.5.1 [10]. Primer besedila v datoteki .trs prikazuje transkript 1. Transkript 1: Zgled odseka datoteke tipa .trs Res je , da ‡ Spletna diskusija, od koder smo ˇ crpali idejo: https://github.com/o penai/whisper/discussions/679. j e p r e d l o g zakona n a r a v n a n za t i s t o Transkripcije vsebujejo * tudi okoli 200 neverbalnih in polverbalnih glasov, ki so v besedilu oznaˇ ceni z lojtro (npr. glas #mhm). Mi smo pri uˇ cenju modelov te oznake v uˇ cnih podatkih ohranili. 4.2 Priprava podatkov in okolja za uˇ cenje Ker modeli Whisper delujejo nad 30-sekundnimi posnetki, smo morali pri pripravi uˇ cnih podatkov daljše posnetke primerno skrajšati. To je bilo mogoˇ ce storiti, saj korpus Artur vsebuje informacijo o ˇ casovnih oznakah. Primer ˇ casovne oznake v transkriptu 1 je denimo “”, kar pomeni, da se odsek besedila za to oznako zaˇ cne pri 61,768 sekundi danega posnetka. Da smo daljše posnetke skrajšali, smo torej s pomoˇ cjo opisanih oznak krajše odseke združevali, dokler je bilo njihovo skupno trajanje krajše od 30 sekund. Tako smo razrezali daljše posnetke na krajše, najveˇ c 30-sekundne odseke. Uˇ cili smo s pomoˇ cjo skripte Python, predvsem z uporabo knjižnic HuggingFace Transformers [26], HuggingFace Datasets [28], pytorch [27] in evaluate [29]. Celotni korpus na disku zavzema okoli 300 GB prostora in je pomnilniško zahteven tudi po ekstrakciji znaˇ cilnic log-mel spektrogramov. To je pomenilo izziv, saj se med uˇ cenjem uˇ cni podatki navadno hranijo v glavnem pomnilniku, zato smo se odloˇ cili za uporabo t. i. pretakanja (angl. dataset streaming) s pomoˇ cjo knjižnice HuggingFace Datasets. S pomoˇ cjo naše skripte smo ustvarili veˇ c komprimiranih datotek tipa “.parquet” [11], ki smo jih potem med uˇ cenjem pretoˇ cno brali z diska. Uˇ cili smo na superraˇ cunalniku VEGA, na vozlišˇ cih z NVIDIA A100 GPE. Skripto Python smo zagnali znotraj vsebnika Singularity. Skripto smo snovali tako, da je bilo omogoˇ ceno nadaljevanje uˇ cenja tudi po njegovi prekinitvi, do katere pride zaradi ˇ casovne omejitve izvajanja procesa. Skupaj je uˇ cenje trajalo približno 3 dni. Model base smo uˇ cili s stopnjo uˇ cenja 2,50E−5 in velikostjo paketa 32, model tiny pa s stopnjo uˇ cenja 3,75E−5 in velikostjo paketa 32. Skupaj smo uˇ cili 51.000 korakov oziroma 6 epoh. Število epoh izraˇ cunamo s pomoˇ cjo enaˇ cbe 2. štEpoh= štKorakov× velikostPaketa štUˇ cnihPrimerkov = 51.000×32 270.000 ≈6 (2) Vmesne rezultate smo shranjevali na vsakih 4.000 korakov. Iz celotnega korpusa smo za testno množico namenili 15 ur posnetkov. Preostali del korpusa smo razdelili na uˇ cno in validacijsko množico v razmerju 90 : 10. ∗ Seznam neverbalnih in polverbalnih glasov najdemo v datoteki s transkripti “Artur-DOC/Artur-PogovorniZapis.pdf”. 266 KOV A ˇ CI ˇ C, BREST, BOŠKOVI ´ C Slika 3 Prikaz izgube na validacijski množici v odvisnosti od uˇ cnega koraka med uˇ cenjem modela whisper-base. Slika 4 Prikaz vrednosti WER na validacijski množici v odvisnosti od uˇ cnega koraka med uˇ cenjem modela whisper-base. 5 REZULTATI U ˇ CENJA Pri vrednotenju rezultatov smo transkripte normalizirali tako, da smo besedila spremenili v male ˇ crke, odstranili loˇ cila in druge znake ter dvojne presledke. Na sliki 3 je prikazan graf vrednosti izgube na validacijski množici za model base med procesom uˇ cenja. Z grafa je razvidno, da je vrednost izgube zaˇ cela narašˇ cati po koraku 32.000. Prav tako je s slike 4 razvidno, da je vrednost WER na validacijski množici pri istem koraku dosegla najnižjo vrednost. Narašˇ canje vrednosti izgube po tem koraku je mogoˇ ce pripisati prekomernemu prileganju. Na sliki 5 je prikazano gibanje vrednosti izgube na validacijski množici za model tiny, medtem ko slika 6 prikazuje graf vrednosti WER na validacijski množici v odvisnosti od uˇ cnega koraka. Podobno kot pri modelu base je tudi tukaj po 32.000 koraku vrednost izgube zaˇ cela narašˇ cati, najverjetneje zaradi prekomernega prileganja. Po tem koraku tudi vrednost metrike WER ni bistveno padala. V konˇ cni implementaciji smo uporabili modela base in tiny pri koraku 32.000, kar ustreza 3,8 epohe. Model base je pri tem koraku na testni množici dosegel vrednost WER 11,38%, model tiny pa WER 15,19%. Slika 5 Prikaz izgube na validacijski množici v odvisnosti od uˇ cnega koraka med uˇ cenjem modela whisper-tiny. Slika 6 Prikaz vrednosti WER na validacijski množici v odvisnosti od uˇ cnega koraka med uˇ cenjem modela whisper-tiny. 6 REZULTATI REALNO ˇ CASOVNE RAZPOZNAVE 6.1 Meritve ˇ casov sklepanja Z douˇ cenima modeloma Whisper base in tiny smo izvedli meritve ˇ casov realnoˇ casovnega sklepanja. Za sklepanje z modeli smo preizkusili razliˇ cna zaledja, in sicer knjižnico ONNX, CTranslate2 ter knjižnico HuggingFace Transformers. Meritve smo povpreˇ cili nad minimalno 100 izvajanji kodirnika in dekodirnika. Meritve smo izvajali na CPE na prenosnem raˇ cunalniku s procesorjem AMD Ryzen 7 5800H in na pametnem telefonu Samsung Galaxy A52S 5G s procesorjem Qualcomm Snapdragon 778G. Na operacijskem sistemu Android smo z namenom pohitritve sklepanja z modeli pri uporabi zaledja ONNX omogoˇ cili NNAPI. V tabeli 1 so prikazani ˇ casi sklepanja kodirnika pri uporabi razliˇ cnih zaledij za sklepanje ter modelih base in tiny. Iz tabele je razvidno, da je ˇ cas sklepanja s kodirnikom pri uporabi zaledja ONNX najmanjši. V primerjavi z implementacijo CTranslate2 je bila na operacijskem sistemu Android pri uporabi modela tiny prisotna veˇ c kot sekunda razlike. V tabeli 2 so prikazani ˇ casi sklepanja enega SISTEM ZA PODNASLA VLJANJE SLOVENSKEGA GOVORA ZA GLUHE IN NAGLUŠNE 267 Tabela 1 ˇ Casi sklepanja s kodirnikom (krepko oznaˇ ceni sta konfiguraciji, uporabljeni v konˇ cni rešitvi). Zaledje za sklepanje Model base tiny Windows – ONNX 253 ms 126 ms Windows – CTranslate2 568 ms 245 ms Windows – HF Transformers 473 ms 194 ms Android – ONNX 1.107 ms 413 ms Android – CTranslate2 3.648 ms 1.643 ms Tabela 2 ˇ Casi sklepanja enega dekodirnega koraka pri požrešnem dekodiranju z enim žarkom (krepko oznaˇ ceni sta konfiguraciji, uporabljeni v konˇ cni rešitvi). Zaledje za sklepanje Model base tiny Windows – ONNX (brez KV) 53 ms 26 ms Windows – ONNX (KV) 31 ms 17 ms Windows – CTranslate2 19 ms 13 ms Windows – HF Transformers (KV) 13 ms 6 ms Android – ONNX (brez KV) 193 ms 75 ms Android – ONNX (KV) 79 ms 40 ms Android – CTranslate2 85 ms 47 ms koraka z dekodirnikom. Uporabljena konfiguracija na operacijskem sistemu Windows z zaledjem CTranslate2 je dosegala ˇ cas 19 ms na korak, kar bi pri dekodiranju 100 žetonov ustrezalo približno 2 sekundama. To je precej bolje kot naivna implementacija z zaledjem ONNX brez KV-predpomnjenja. Po drugi strani pa je implementacija s KV-predpomnjenjem na operacijskem sistemu Android dosegala najmanjši 40 ms ˇ cas sklepanja enega koraka pri uporabi modela tiny. 6.2 Meritve vrednosti WER Za razliˇ cne konfiguracije smo izvedli meritve vrednosti WER med realnoˇ casovno razpoznavo. Pri vrednotenju smo uporabili posnetek javnega govora “Artur-J-Gvecg-P500001-avd.wav” iz testne množice korpusa Artur 1.0 v trajanju 1 ure in 52 minut. Meritve na sliki 7 prikazujejo vrednosti WER za modela base in tiny pri razliˇ cnih ˇ casovnih korakih zajema zvoˇ cnega toka in razliˇ cnem številu žarkov. Nastavitev najveˇ cje kakovosti v rešitvi UHO za operacijski sistem Windows uporablja 4 žarke in 2-sekundni korak. Pri tej nastavitvi model base dosega vrednost WER9,56% . Privzeta nastavitev v rešitvi UHO za operacijski sistem Android uporablja 1 žarek in 2-sekundni korak. Pri tej nastavitvi model tiny dosega nekoliko višjo vrednost WER 17,47%. Iz rezultatov vidimo, da ima velikost ˇ casovnega koraka pri zajemu zvoˇ cnega toka precejšen vpliv na vrednost WER. Tako je npr. za model base pri uporabi 1 žarka in 2-sekundnega ˇ casovnega koraka vrednost WER nižja za skoraj 10 odstotnih toˇ ck v primerjavi z vrednostjo pri 0,5 -sekundnem ˇ casovnem koraku. Razvidno je tudi, da lahko veˇ cje število uporabljenih žarkov znatno zmanjša vrednost WER. To je vidno predvsem pri modelu Slika 7 Prikaz vrednosti WER med realnoˇ casovno razpoznavo nad izbranim posnetkom dolžine približno 2 ur; prikazano za modela Whisper base in tiny pri razliˇ cnem številu žarkov in razliˇ cnih ˇ casovnih korakih periodiˇ cnega zajema zvoka. whisper-tiny. Po drugi strani pa se zaradi možne omejene procesorske moˇ ci uporaba veˇ c žarkov na operacijskem sistemu Android ne splaˇ ca v vseh primerih. 6.3 Primerjava rezultatov WER s sorodnimi deli V tabeli 3 podamo primerjavo vrednosti WER naše rešitve s sorodnimi deli. Naša rešitev pri uporabi whisper-base v primerjavi s slovenskimi sorodnimi deli dosega najnižjo vrednost WER. Podajamo tudi rezultat za rešitev Whisper-Streaming, ki pri realnoˇ casovni razpoznavi dosega nekoliko boljši rezultat od našega. Po drugi strani pa primerjava z Whisper-Streamingom ni najbolj poštena, saj so avtorji uporabili precej veˇ cji model whisper-large-v2. Prav tako so razpoznavali angleški govor, za katerega so bili modeli uˇ ceni z nesorazmerno veˇ cjim številom ur kot v naši rešitvi. 7 ZAKLJU ˇ CEK Predstavili smo rešitev za gluhe in naglušne osebe, imenovano UHO, ki omogoˇ ca realnoˇ casovno podnaslavljanje slovenskega govora s pomoˇ cjo modelov Whisper podjetja OpenAI. Modele smo douˇ cili na superraˇ cunalniku VEGA z govornim korpusom Artur 1.0. Pri tem smo na testni množici za model whisper-base dosegli vrednost WER 11,38% , za model whisper-tiny pa vrednost WER 15,19%. V aplikaciji UHO za operacijski sistem Windows nam je kljub uporabi nekoliko veˇ cjega modela whisper-base uspelo zagotoviti realnoˇ casovno izvedbo s pomoˇ cjo knjižnice CTranslate2. V aplikaciji UHO za operacijski sistem Android smo hitrost sklepanja optimizirali z uporabo metode KV-predpomnjenja in zaledja ONNX. Kljub temu smo bili zaradi omejene procesorske moˇ ci mobilnih naprav prisiljeni za realnoˇ casovno razpoznavo uporabiti manjši, manj toˇ cen model whisper-tiny. 268 KOV A ˇ CI ˇ C, BREST, BOŠKOVI ´ C Tabela 3 Primerjava naše rešitve s sorodnimi deli. Krepko oznaˇ ceni sta konfiguraciji, ki smo ju uporabili v konˇ cni rešitvi. Rešitev Model Vrsta razpoznave Jezik WER Naša rešitev whisper-base nad celotnimi posnetki slo. 11,38% Naša rešitev whisper-tiny nad celotnimi posnetki slo. 15,19% Naša rešitev* whisper-base realnoˇ casovno slo. 10,85% Naša rešitev* whisper-tiny realnoˇ casovno slo. 17,47% Sorodno delo s TDNN [18] TDNN nad celotnimi posnetki slo 27,16% Dnev. inform. oddaje [17] globoke NM nad celotnimi posnetki slo. 15,17% Online Notes [33] Kaldi WFST realnoˇ casovno (oblak) slo. 20% Whisper-Streaming** [19] whisper-large-v2 realnoˇ casovno angl. 5,80% * požrešno dekodiranje, ˇ casovni korak 2 s ** testirano na korpusu ESIC Za izboljšavo kakovosti transkriptov smo implementirali metodo iskanja z žarki. Realnoˇ casovno izvedbo smo omogoˇ cili z uporabo intuitivnega pristopa, ki ga imenujemo aditivno dekodiranje. Ta pristop v glavnem omogoˇ ca pouporabo informacije žetonov iz prejšnje iteracije dekodiranja v naslednjih iteracijah. S tem pristopom znatno zmanjšamo skupni ˇ cas sklepanja z modeli. Izvedli smo meritve vrednosti WER med realnoˇ casovno razpoznavo. Rezultati so spodbudni in kažejo, da so vrednosti WER pri realnoˇ casovni izvedbi primerljive z vrednostmi ob razpoznavi celotnih posnetkov naenkrat. Iz meritev vrednosti WER pri realnoˇ casovnem izvajanju smo sicer videli, da modeli tiny izkazujejo precej višjo vrednost WER kot modeli base. Žal poveˇ canje števila žarkov na manj zmogljivejših napravah, kot so sistemi z operacijskim sistemom Android, pri dekodiranju poveˇ ca ˇ casovni zamik razpoznave govora. Možnosti rešitve za to omejitev vidimo v omejitvi uporabe na nekoliko hitrejše naprave z operacijskim sistemom Android, kot so Google Pixel s procesorji Google Tensor. Dodatno vidimo potencial za uporabo nekoliko veˇ cjega modela, kot je whisper-base, na hitrejših napravah z operacijskim sistemom iOS. Nadaljnje delo bi moralo reševati zastoje, do katerih lahko pride pri menjavi govorca. Možna rešitev bi bila preskakovanje žetonov (angl. token suppression), kot je predˇ casno napovedan žeton za konec transkripta. Prav tako bi nadaljnje delo moralo reševati trenutno nezmožnost douˇ cenih modelov za veˇ cjeziˇ cno razpoznavo, ki je posledica t. i. efekta katastrofalnega pozabljanja (angl. catastrophic forgetting). ZAHVALA J. Brest in B. Boškovi´ c priznavata financiranje ˇ clanka s strani Javne agencije za znanstvenoraziskovalno in inovacijsko dejavnost Republike Slovenije, raziskovalni program P2-0041 – Raˇ cunalniški sistemi, metodologije in inteligentne storitve. Avtorji se zahvaljujejo konzorciju HPC RIVR www. hpc-rivr.si in organizaciji EuroHPC JU eurohpc-ju.euro pa.eu za financiranje raziskave z uporabo zmogljivosti sistema HPC Vega na Institutu informacijskih znanosti (www.izum.si). LITERATURA [1] Google , “Speech-to-Text AI: speech recognition and transcription | Google Cloud,” Dostopno na: https://cloud.google.com/speec h-to-text?hl=en [6.3.2025] [2] N. Rems Arzenšek , “Roman Demir: Bolj kot jakost je pri komuniciranju z naglušno osebo pomembna hitrost govora,” Dostopno na: https://vizita.si/leksikon/gluhost.html [23.1.2025] [3] NIJZ Podatkovni portal , Dostopno na: https://podatki.nijz.si/, 2019 [4] WHO , “Deafness and hearing loss,” Dostopno na: https://www. who.int/news-room/fact-sheets/detail/deafness-and-hearing-loss, [23.1.2025] [5] Zavod Združenje tolmaˇ cev za slovenski znakovni jezik , “Pravice do tolmaˇ ca po zakonu - ZZTSZJ” Dostopno na: https://www. tolmaci.si/pravice-do-tolmaca-po-zakonu/ [23.1.2025] [6] S. Jagodiˇ c , “DNEVNA: Da se bo položaj gluhih izboljšal, bodo potrebna desetletja,” Dostopno na: https://maribor24.si/drustva /dnevna-da-se-bo-polozaj-gluhih-izboljsal-bodo-potrebna-deset letja/ [23.1.2025] [7] Microsoft , “Live Captions | Microsoft Windows,” Dostopno na: https://www.microsoft.com/en-us/windows/tips/live-captions, [23.1.2025] [8] Google , “Samodejni podnapisi: Prikaz podnapisov pri predstavnosti in klicih v napravi - Pomoˇ c za Funkcije za ljudi s posebnimi potrebami v Androidu,” Dostopno na: https://su pport.google.com/accessibility/android/answer/9350862?hl=sl, [23.1.2025] [9] D. Verdonik; idr. , ASR database ARTUR 1.0 (audio), Slovenian language resource repository CLARIN.SI, ISSN 2820-4042, Dostopno na: http://hdl.handle.net/11356/1776, 2023 [10] D. Verdonik; idr. , ASR database ARTUR 1.0 (transcriptions), Slovenian language resource repository CLARIN.SI, ISSN 2820-4042, Dostopno na: http://hdl.handle.net/11356/1772, 2023 [11] Apache , “Parquet” Dostopno na: https://parquet.apache.org/, [24.1.2025] [12] A. Radford; idr. Robust speech recognition via large-scale weak supervision, International conference on machine learning, PMLR. 2008, str. 28492-28518, Dostopno na: https://proceeding s.mlr.press/v202/radford23a.html [13] M. Bara´ nski; idr. Investigation of Whisper ASR Hallucinations Induced by Non-Speech Audio, ICASSP 2025 - 2025 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2025, str. 1-5, Dostopno na: https://doi.or g/10.1109/ICASSP49660.2025.10890105 [14] A. Ali, S. Renals Word error rate estimation for speech recognition: e-WER, Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (V olume 2: Short Papers), 2018, str. 20-24, Dostopno na: https://www.research.ed. ac.uk/en/publications/word-error-rate-estimation-for-speech-rec ognition-e-wer SISTEM ZA PODNASLA VLJANJE SLOVENSKEGA GOVORA ZA GLUHE IN NAGLUŠNE 269 [15] GitHub , “Fine-Tune Whisper For Multilingual ASR with HuggingFace Transformers” Dostopno na: https://github.c om/huggingface/community-events/blob/main/whisper-fine-tun ing-event/fine-tune-whisper-non-streaming.ipynb [26.1.2025] [16] Nuance , “Nuance Dragon Professional v16” Dostopno na: https://www.nuance.com/dragon/business-solutions/dragon-pro fessional.html [27.1.2025] [17] L. Gril; idr. Avtomatsko razpoznavanje slovenskega govora za dnevnoinformativne oddaje, Slovenšˇ cina 2.0: Empiriˇ cne, Aplikativne in Interdisciplinarne Raziskave, 2021, 9(1), str. 60-89, Dostopno na: https://doi.org/10.4312/slo2.0.2021.1.60-89 [18] M. Ulˇ car; idr. Razpoznavanje slovenskega govora z metodami globokih nevronskih mrež, Uporabna informatika, 2019, Letn. 27, Št. 3, Dostopno na: https://doi.org/10.31449/upinf.53 [19] D. Machᡠcek; idr. Turning Whisper into Real-Time Transcription System, Dostopno na: https://doi.org/10.48550/arXiv.2307.14 743, 2023 [20] Silero Team, Silero VAD: pre-trained enterprise-grade Voice Activity Detector (VAD), Number Detector and Language Classifier, Dostopno na: https://github.com/snakers4/silero-vad, 2024 [21] OpenNMT, CTranslate2: Fast inference engine for Transformer models, Dostopno na: https://github.com/OpenNMT/CTranslate2 [28.1.2025] [22] OpenAI, Model Card: Whisper, Dostopno na: https://github.c om/openai/whisper/blob/main/model-card.md, [29.1.2025] [23] R. P. Lippmann; idr. Speech recognition by machines and humans, Speech communication 22.1, 1997, str. 1-15 [24] Free On-Line Dictionary of Computing, beam search, Dostopno na: https://foldoc.org/beam+search, [23.4.2025] [25] Microsoft, ONNX Runtime, Dostopno na: https://onnxruntime.ai/, [24.4.2025] [26] HuggingFace, Transformers, Dostopno na: https://huggingface. co/docs/transformers/en/index [24.4.2025] [27] The Linux Foundation, PyTorch, Dostopno na: https://pytorch. org/, [24.4.2025] [28] HuggingFace, Datasets, Dostopno na: https://huggingface.co/d ocs/datasets/en/index [24.4.2025] [29] HuggingFace, Evaluate, Dostopno na: https://huggingface.co/d ocs/evaluate/en/index [24.4.2025] [30] HuggingFace, Open ASR Leaderboard - a Hugging Face Space by hf-audio, Dostopno na: https://huggingface.co/spaces/hf-a udio/open_asr_leaderboard, [25.4.2025] [31] D. Liu; idr. Low-Latency Sequence-to-Sequence Speech Recognition and Translation by Partial Hypothesis Selection, Dostopno na: https://doi.org/10.48550/arXiv.2005.11185, 2020 [32] V . Zwitter; idr. , Spoken corpus Gos 1.0, Slovenian language resource repository CLARIN.SI, ISSN 2820-4042, http://hdl.ha ndle.net/11356/1040, 2013 [33] T. Šoltes; idr. , ONLINE NOTES: sistem za razpoznavo govora in strojno prevajanje v realnem ˇ casu na ravni univerzitetnih predavanj, Uporabna informatika. 32, 1 (jul. 2024), Dostopno na: https://doi.org/10.31449/upinf.225, 2024 [34] HuggingFace, openai/whisper-base, Dostopno na: https://hugg ingface.co/openai/whisper-base [30.4.2025] [35] GitHub , “openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision” Dostopno na: https://gith ub.com/openai/whisper [30.4.2025] [36] Google Play , “Seeing AI” Dostopno na: https://play.google. com/store/apps/details?id=com.microsoft.seeingai [28.7.2025] [37] Google Play , “Project Relate” Dostopno na: https://play.goo gle.com/store/apps/details?id=com.google.research.projectrelate [28.7.2025] [38] Google Play , “Face Control” Dostopno na: https://play.googl e.com/store/apps/details?id=com.obstino.facecontrol [28.7.2025] [39] B. Kovaˇ ciˇ c; B. Boškovi´ c , Slovenian command word speech recognition using transfer learning, Proceedings of the 9th Student Computing Research Symposium (SCORES’23). University of Primorska Press; Faculty of Electrical Engineering and Computer Science; Faculty of Computer and Information Science, str. 43-46, Dostopno na: https://doi.org/10.26493/score s23.04, 2023 Blaž Kovaˇ ciˇ c je leta 2020 diplomiral s podroˇ cja elektronike na Univerzi v Mariboru. S podroˇ cja raˇ cunalništva in informacijskih tehnologij je leta 2025 magistriral na isti univerzi. Njegovi raziskovalni interesi vkljuˇ cujejo razvoj podporne tehnologije za osebe s posebnimi potrebami, interakcijo med ˇ clovekom in raˇ cunalnikom ter umetno inteligenco. Janez Brest je na Univerzi v Mariboru diplomiral, magistriral in doktoriral s podroˇ cja raˇ cunalništva in informacijskih tehnologij, in sicer v letih 1995, 1998 in 2000. Trenutno je kot redni profesor zaposlen na Fakulteti za elektrotehniko, raˇ cunalništvo in informatiko ter je tudi vodja Laboratorija za raˇ cunalniške arhitekture in jezike na Inštitutu za raˇ cunalništvo. Njegovi raziskovalni interesi vkljuˇ cujejo evolucijsko raˇ cunalništvo, umetno inteligenco, optimizacijske metode, programske jezike ter vzporedno in porazdeljeno raˇ cunalništvo. Je pridruženi urednik revije Swarm and Evolutionary Computation. Borko Boškovi´ c je v letih 2004 in 2010 na Univerzi v Mariboru pridobil diplomo in doktorat iz raˇ cunalništva. Trenutno je docent na Fakulteti za elektrotehniko, raˇ cunalništvo in informatiko. Z Laboratorijem za raˇ cunalniške arhitekture in jezike sodeluje od leta 2000. Njegovi raziskovalni interesi vkljuˇ cujejo evolucijsko raˇ cunalništvo, optimizacijo, obdelavo naravnega jezika in vzporedno raˇ cunanje.