Objavljeno: 28.12.2017 | Avtor: Matej Huš | Monitor Januar 2018

Od govorca do bralca

Eden izmed poklicev, ki utegne kmalu po poteh prižigalcev uličnih svetilk, je bralec in spiker. Računalniško sintetiziran glas je – tudi za slovenščino – danes že dovolj dober, da ga lahko uporabljajo slepi in slabovidni pri vsakdanjem delu, podjetja pa pri avtomatičnem posredovanju podatkov. V dokumentarne oddaje in na prireditve še ne zmore, a se bo gotovo kmalu prebil tudi tja. Najuspešnejši slovenski izdelek je eBralec.

eBralec 3.3

Podobno, kot so strojni prevajalniki v zadnjih letih naredili velikanski napredek, so tudi računalniški sintetizatorji glasu že zelo dobri. Pred petimi leti smo računalniško sintetizirano slovenščino sicer razumeli, a bi bilo poslušanje daljših odlomkov mučno. Današnji sintetizatorji pa so že toliko prijaznejši do ušes, da je tudi poslušanje daljših odlomkov znosno.

Najnovejši in najbolj izpopolnjen računalniški sintetizator govora za branje slovenščine se imenuje eBralec. Razvili so ga Institut Jožef Stefan ter podjetji Amebis in Alpineon. V preteklosti je slovensko govorilo že nekaj sintetizatorjev: S-5, Govorec, Proteus TTS in eSpeak, a so vsi zveneli robotsko. Tega jim niti ne moremo zameriti. Na primer leta 1997, ko je bil aktualen S-5, je bilo na voljo precej manj računske moči, besedilni korpusi pa so bili bistveno tanjši. Danes je stanje bistveno boljše.

Čeprav se rojenim govorcem zdi, da je izgovarjava slovenščine enostavna in da večidel sledimo reklu en glas ena črka, je to daleč od resnice. Morda je slovenski izgovor zapisanega res bolj previdljiv kakor v angleščini, a je pravilna izreka tudi za ljudi velik problem, bo znal povedati vsak napovedovalec, ki je šel skozi šolo legendarnih Ane Mlakar ali Ajde Kalan.

Čeprav se v govoru čuti kovinsko-strojni prizvok, je besedilo presenetljivo poslušljivo.

Podroben pregled pokaže, da ima slovenščina 29 osnovnih fonemov, tj. 8 samoglasnikov in 21 samoglasnikov (več kot črk v abecedi!), nekateri izmed njih pa imajo še svoje alofone (govorne različice). V zborni slovenščini ima na primer fonem n tri alofone, saj ga v besedah sanke, konjski in sani izgovorimo različno. Toda to je le osnova, pomembne pa so tudi prozodične prvine, h katerim sodijo med drugim naglas, intonacija, premori in hitrost. Besede morajo biti pravilno naglašene (téma ali tem`a), premori morajo biti pravilno postavljeni, vprašalni stavki imajo lahko rastočo in trdilni padajočo intonacijo, pred vejicami je rastoča intonacija, ki ji sledi krajši presledek, pike zahtevajo daljše premore in padajočo intonacijo itn. Fonemi tudi ne stojijo v vakuumu. Na izgovor posameznega glasu vpliva okolica, hkrati pa glas vpliva na okolico. Vpliv se lahko širi tudi z ene na drugo besedo, recimo predlogi se zlivajo s sledečimi zlogi. Vse to pomeni, da mora govorni korpus vsebovati daljše skupke fonemov: difone, trifone, štirifone itd.

Največ težav pa povzroča to, da je treba za pravilen izgovor pogosto razumeti pomen. V slovenščini je kopica raznoglasnic, ki imajo enak zapis, a različen izgovor glede na pomen. Hotel sem s`em v hotel. Zaradi tega je izdelava dobrega sintetizatorja govora tesno povezana s problemom prevajanja, kjer žanjejo velike uspehe strojno učenje in nevronske mreže.

Slovar izgovarjav. (Nejc Robida, 2014)

Samo za ponazoritev naštejmo dejavnike, ki jih vsebuje eBralec za določitev konteksta, v katerem je posamezen alofon: predhodni in naslednji fonem, mesto fonema v zlogu, mesto zloga v besedi ali stavku, mesto besede v stavku, (ne)poudarjenost zloga, razdalja do poudarjenega zloga, dolžina stavka, stavčni naklon, število zlogov, besed in stavkov v povedi. Vsi ti dejavniki vplivajo na izgovor nekega glasu, ki je zato vsakokrat malce drugačen.

Kako deluje eBralec

Delovanje sintetizatorja govora eBralec ureja jedrni del, ki povezuje vse enote v cevovod, saj delo opravljajo druga za drugo. Prvi del se imenuje analizator in vhodno besedilo analizira. To pomeni, da ga razdeli na povedi, stavke in besede. Že to ni trivialno, saj vsaka pika ne ločuje povedi (lahko označuje vrstilne števnike (2. mesto) ali okrajšave (npr.)) in vsaka vejica ne ločuje stavkov (lahko označuje na primer naštevanje). Potem analizator za vsako besedo določi lemo (v isto lemo sodijo vse oblike določene besede znotraj iste besedne vrste) in oblikoskladenjsko oznako. Pri kopičenju predložnih zvez mora na primer določiti, kaj so prilastki in kaj so povedkova določila. Slovnična analiza vsaki besedi določi besedno vrsto, sklon, spol, število itd. Od vseh teh informacij je odvisen pravilen izgovor.

Drugi del je besednik, ki prevaja nebesedne simbole v besede. To so številke in drugi simboli, denimo znak za odstotek. Pomembno je, da besednik prevede simbole, ki jih dejansko izgovarjamo, spremljajočih (denimo narekovajev) pa ne, čeprav lahko vplivajo na izgovor. Naslednji modul v cevovodu opravlja grafemsko-fonemsko pretvorbo. Vse z dotlejšnjo analizo zbrane informacije pretvori v enoznačen zapis izgovora MRPA (machine-readable phonetic alphabet), ki ga bo zadnji modul, to je sintetizator, znal izvesti. Sintetizator v ožjem pomenu besede pa je zadnji del, ki tvori izhodni zvočni signal.

Vse te module je treba primerno izuriti, za to pa potrebujemo dovolj velik besedilni in govorni korpus. Lani je besedilni korpus eBralca obsegal dobrih sedem milijonov povedi oziroma 77 milijonov besed. Iz besedil, ki so tvorila korpus, so odstranili vse oznake (glave, tabele, označbe), pretvorili simbole, številke in okrajšave v cele besede in potem izvedli grafemsko-fonetično pretvorbo. Iz tega nabora so potem izbrali štiri tisoč povedi in jih z moškim (Renato Horvat) in ženskim (Maja Moll) glasom v studiu RTV tudi posneli. Skupno je nastalo skoraj 12 ur posnetkov, snemanje pa je trajalo več mesecev. Ob snemanju sta imela govorca nameščen tudi laringograf, ki meri položaj glasilk med izgovorom. V nastali zbirki je bilo skoraj dva tisoč difonov (parov fonemov) in 21 tisoč trifonov. Posneto govorno gradivo so nato še označili glede na fonetiko in prozodične prvine – najprej avtomatično, potem ročno popravili napake.

Ključen je seveda dober nabor prebranih povedi. Besedila v korpusu so zato predhodno statistično obdelali in določili, katere povedi bodo h korpusu govorjene besede največ doprinesle. Cilj je bil poiskati čim bolj reprezentativne in raznolike povedi, da bi s čim manj besedami zajeli vse za slovenščino pomembne kombinacije fonemov.

Poznamo več vrst sintetizatorjev govora: artikulatorne (posnemajo govorno cev), formantne (posnemanje glasu s formatnimi frekvencami in amplitudami), sinusne (HNM), takšne, ki združujejo enote, in HMM (prikriti modeli Markova). Novi eBralec uporablja HMM, ki ima nekaj orodij iz japonskega paketa HTS (HMM-based Speech Synthesis System) in nekaj, ki so jih razvili posebej zanj.

Shema jedra sintetizatorja eBralec. (Jerneja Žganec Gros et al., 2016)

V praksi

Zdaj, ko smo se prebili skozi teorijo (ali pa jo preskočili), si oglejmo, kako dobro deluje eBralec 3.3. Preizkusimo ga lahko na spletni strani ebralec.si/branje, kjer lahko brezplačno poslušamo besedila do 250 znakov. Kdor želi več, lahko z iste strani sname program, a za prvi zagon potrebuje licenco in povezavo z internetom. Desetdnevno licenco lahko dobimo brezplačno po elektronski pošti, za kaj več pa bo treba plačati. Za fizično osebo stane eBralec slabih sto evrov na leto, slepim, slabovidnim in ljudem z motnjami branja pa je ob predložitvi zdravniškega potrdila na voljo brezplačno, saj je razvoj sofinancirala Zveza društev slepih in slabovidnih Slovenije (ZDSSS). Prav tako je brezplačna interna raba za ustanove v javnem sektorju. Za poslovno komercialno rabo pa je cena odvisna od dogovora.

SAPI 5

SAPI 5 (Speech Application Programming Interface) je Microsoftova knjižnica API, ki omogoča uporabo sistemov za prepoznavanje govora in sintezo glasu v programih za Windows. Pripomočki s podporo SAPI 5 se integrirajo v Windows, tako da jih lahko kličejo vsi programi, ki bi želeli prebrati kakšno zapisano besedilo.

SAPI XML TTS (extensible markup language for text-to-speech), ki ga eBralec tudi razume, pa omogoča dodatno komentiranje. V besedilo lahko zakomentiramo ukaze za jakost, hitrost, poudarek, izgovor po črkah, premore, posebno izgovarjavo ipd. To je uporabno, kadar želimo posamezno besedilo opremiti z dodatnimi informacijami, ki poskrbijo za boljše (oz. želeno) branje.

eBralca smo torej namestili, vtipkali številko licence in odprlo se je okno, v katero lahko vtipkamo ali prekopiramo besedilo, ki ga eBralec prebere. Omogoča predvajanje zvoka ali zapis v zvočno datoteko za kasnejše poslušanje. Podpira štiri slovenske glasove: Renata in Majo (prvič imamo ženski glas v slovenskih sintetizatorjih) iz novega eBralca, poleg njiju pa še stara Renata in Mateja iz Govorca, ki sta, milo rečeno, obupna.

Novi Renato in Maja pa – nista slaba. Nasprotno, čeprav se v govoru čuti kovinsko-strojni prizvok, je besedilo presenetljivo poslušljivo. Resda še vedno izgovorita besedi oklepaj - zaklepaj, predloge bereta ločeno od sledeče besede (to je zelo moteče pri javnem nastopanju) in se ob kakšni čudni besedi zmedeta, a vendarle. Pravilno znata naglasiti celo Gôri na gôri gorí, prav tako ločita med zelêno barvo in zéleno na krožniku, četudi pišemo brez naglasnih znamenj. Daljši primer lahko poslušamo tudi v internetu, kjer je Renato bral odlomek iz Rdeče kapice (https://www.youtube.com/watch?v=yXFcIPmMtr8).

Največja pomanjkljivost je seveda omejenost na Windows, in sicer v enoračunalniški in strežniški različici. Uporabniki Linuxa in Maca bodo žal morali počakati na boljše čase. Pomembno pa je tudi, da se eBralec integrira v Windows, saj podpira SAPI 5 (glej okvir). To pomeni, da nam ni treba odpreti programa in vanj prekopirati besedila za sintezo glasu. Nasprotno, slovenski glasovi se dodajo v sistemsko zbirko, do katere imajo potem dostop vsa orodja za branje besedila. V Firefoxu s klikom simbola dnevnika v naslovni vrstici odpremo bralni način, ki ima v levem meniju gumb za branje. Windows vsebuje pomočnika (Narrator), ki ga prikličemo s kombinacijo tipk Windows + Control + Enter in bere vsako besedilo, ki je na zaslonu ipd. V vseh teh primerih lahko uporabljamo logiko in glas iz eBralca. Podobno velja za specialna orodja, ki jih uporabljajo slepi.

Koraki pri delovanju sintetizatorja glasu

• Slovnična analiza vhodnega besedila

• Zamenjava nebesednih simbolov z besedami

• Grafemsko-fonemska pretvorba

• Določitev prozodičnih prvin

• Sintetiziranje govornega signala

Na voljo je tudi različica za Android, ki pa deluje brez povezave z internetom in ne podpira novih glasov, temveč le starega Renata in Mateja iz Govorca, ki sta obupna. Različica za Android, ki deluje s povezavo v internet, pa je trenutno uporabna le za slepe in slabovidne. Ti imajo namreč pravico dostopa do strežnika, ki ga je postavila ZDSSS. Vsi drugi bi si morali postaviti lasten strežnik. Iztok Grilc iz Amebisa pravi, da trenutno ni dovolj povpraševanja, da bi se jim splačalo ponujati namenski strežnik.

Računalniški sintetizatorji govora se danes že uporabljajo. Poleg nekaterih javnih ustanov (NUK, šole …) in več sto slepih je plačljivih običajnih uporabnikov eBralca nekaj deset, pojasnjuje Grilc. Za večja podjetja so zanimive strežniške rešitve. Primer je aplikacija DARS Traffic, ki uporablja sintetizator za branje pomembnih dogodkov na poti. Drugi potencialni načini uporabe so še branje novic na spletnih straneh, kar pride prav med vožnjo, ko nam telefon recitira novice, sporočanje informacij, obvestila v skladiščih ali letališčih ipd.

Ni pa več daleč niti dan, ko bo odklenkalo tudi znamenitemu »Prevod Niki Neubauer, bral Ivan Lotrič«.

Viri za nadaljnje branje

Žganec Gros, J. et al. Sintetizator govora za slovenščino eBralec. 2016. Jezikovne tehnologije in digitalna humanistika.

Robida, N. Sinteza govora in Govorec 3. 2014. Prihodnost v slovenskem jeziku, literaturi in kulturi.

Šef, T. in Romih, M. Zasnova govorne zbirke za sintetizator slovenskega govora Amebis Govorec. 2011. Zbornik 14. mednarodne multikonference Informacijska družba.

Rozman, S. Sinteza govornega signala na osnovi metode HNM. 2005. Magistrsko delo UL FRI.

yXFcIPmMtr8

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji