# &kmyapplication; käsiraamat

## Sissejuhatus

&kmyapplication; on KDE alamsüsteem teksti kõneks muutmiseks (TTS). See pakub KDE programmeerijatele ühise API, võimaldades neil nii lisada oma rakendustele TTS-võimaluse. Samuti pakub see mitmeid toredaid võimalusi tavalistele kasutajatele.

Kasutajate võimalused:

- Tekstifaili sisu kõnelemine.

- KDE märguannete (KNotify) kõnelemine.

- Osa või kogu veebilehekülje kõnelemine Konqueroris.

- Osa või kogu teksti kõnelemine tekstiredaktoris Kate, kaasa arvatud juhul, kui Kate on põimitud mõnda muusse KDE rakendusse.

- Pikad tekstid parsitakse lauseteks. Kasutajad võivad lause või lõigu varukoopiana salvestada, seda taasesitada, esituse peatada või katkestada.

- Heliväljund aRtsi või GStreameri (versioon 0.8.7 või uuem) vahendusel.

- Seadistatavad filtrid valesti kõneldud sõnade asendamiseks, kõnesüntesaatori valimiseks ja XML-dokumentide transformeerimiseks.

Pogrammeerija võimalused:

- Suurepärane süsteem ekraanilugeja väljundi, hoiatuste ja teadete jaoks, mis suudab esitada ka tavalist teksti.

- Pluginapõhine arhitektuur võimaldab toetada paljusid kõnesünteesi mootoreid ja draivereid.

- Kõne tekitamise võimalus käsurealt (või shelliskriptiga) KDE DCOP-utiliitide vahendusel.

- Lihtne ja väike liides rakendustele kõneväljundi tekitamiseks.

- Rakendused ei pruugi muret tunda kõneseadme pärast.

- TULEVIKUS: kõnemärkekeelte toetus, näiteks VoiceXML, Sable, Java Speech Markup Language (JSML) ja Speech Markup Meta-language (SMML).

- TULEVIKUS: põimitud kõnemärkimisvahendite piiratud toetus.

- Asünkroonsus süsteemi blokeerimise vältimiseks.

&kmyapplication; koosneb praegu mitmest programmist:

`kttsd`

- KDE teksti kõneks muutmise deemon on graafilise kasutajaliideseta rakendus, mis pakub DCOP-i vahendusel rakendustele TTS-teenust.

`kttsmgr`

- Graafilise kasutajaliidesega rakendus KTTSD seadistamiseks ja juhtimiseks. KTTSMGR töötab süsteemses salves.

`libkhtmlkttsdplugin`

- Veebilehitseja Konqueror plugin, mis võimaldab kõnelda kas kogu veebilehekülge või osa sellest.

`ktexteditor_kttsd`

- Tekstiredaktori Kate plugin, mis võimaldab kõnelda kogu tekstifaili või osa sellest.

### Toetus

Lisaks KDE Bugzilla andmebaasile (http://bugs.kde.org/) tegeleb &kmyapplication; asjadega praegu kde-accessibility meililist. Selle saab tellida aadressil https://mail.kde.org/mailman/listinfo/kde-accessibility. Arendajaid leiab ka IRC-st (irc.kde.org, kanal #kde-accessibility).

## &kmyapplication; kasutamine

Enne &kmyapplication; kasutamist tuleb paigaldada vähemalt üks kõnesünteesi mootor ja kontrollida, et see töötab. Vaata installation.

### `kttsmgr` käivitamine

&kmyapplication; süsteemi käivitamiseks anna Konsoolil järgmine käsk

`kttsmgr`

või klõpsa &kmyapplication; kirjel KDE menüüs.

Kui see on sul esimene kord käivitada `kttsmgr` või kui sa ei ole veel kõnelejaid määranud, ilmub nähtavale kaart Kõnelejad. Vaata select-plugin. Kui oled aga määranud vähemalt ühe kõneleja, ilmub nähtavale kaart Üldine. Vaata general.

### Kõnesünteesi plugina (kõneleja) valik

Klõpsuga kirjele Kõnelejad `kttsmgr` dialoogis ilmub nähtavale kaart Kõnelejad.

KDE teksti kõneks muutmise haldur (kõnelejate kaart). KDE teksti kõneks muutmise haldur (kõnelejate kaart)

- Klõpsa siia uue kõneleja ehk kõnesünteesiplugina lisamiseks.

- Siin on kirjas kõik seadistatud kõnelejad. Eespool seisavad kõrgema prioriteediga kõnelejad ning kui rakendus ise ei määra konkreetset kõnelejat, kasutatakse esmalt siin kõige esimesena näidatut.

- Klõpsa nimekirjas vajalikul kõnelejal ja siis sellele nupule antud kõneleja eemaldamiseks.

- Klõpsa nimekirjas vajalikul kõnelejal ja siis sellele nupule kõnesünteesi plugina seadistustedialoogi avamiseks.

- Klõpsa nimekirjas vajalikul kõnelejal ja siis sellele nupule kõneleja liigutamiseks nimekirjas allapoole. Mida tagapool on kõneleja nimekirjas, seda väiksema prioriteediga ta on.

- Klõpsa ühel neist nuppudest tehtud muudatuste rakendamiseks &kmyapplication; süsteemis.

Klõpsuga nupule Lisa ilmub nähtavale dialoog Kõneleja lisamine.

Kõneleja lisamise dialoog. Kõneleja lisamise dialoog

- Kõnesünteesiplugina saab valida kas Süntesaatori nime või siis Keele järgi, mida süntesaator kõneleb. Märgi ära vastav raadionupp. Kui märkida raadionupp Keel, näitab väli Keel kõiki keeli, mida olemasolevad süntesaatorid toetavad, ning väli Süntesaator ainult neid süntesaatoreid, mis valitud keelt toetavad. Kui märkida raadionupp Süntesaator, näitab väli Süntesaator kõiki olemasolevaid süntesaatoreid, ning väli Keel ainult neid keeli, mida valitud süntesaator toetab.

- Vali siin keel ja sünteesiplugin.

- Siia klõpsates seadistab enamik sünteesipluginaid ennast automaatselt ise, kasutades vaikeseadistust. Uus kõneleja ilmub nimekirja, mida võib näha kaardil Kõnelejad. Klõpsa nupule Muuda, kui soovid kõneleja seadistusi näha või muuta. Vaata configure-plugin.

Enne seda, kui saad käivitada &kmyapplication; süsteemi ja lasta arvutil teksti kõnelda, tuleb määrata vähemalt üks kõneleja ja klõpsata nupule Rakenda või OK. &kmyapplication; süsteemi käivitamiseks klõpsa kaardile Üldine ja märgi ära valik Teksti kõneks muutmise süsteemi (KTTSD) lubamine. Vaata general.

### Kõnesünteesi pluginate (kõnelejate) seadistamine

Kaardil Kõnelejad nupule Lisa klõpsates ja kõnelejat lisades või nupule Muuda klõpsates ilmub dialoog Kõneleja seadistamine. Iga kõnesünteesiplugina korral on dialoog Kõneleja seadistamine erinev. Järgnevas näites on tegemist Festival Interactive'i plugina seadistamisega. Kõigist pluginatest räägib täpsemalt configuration.

Kõneleja seadistamine Kõneleja seadistamine

- Määra siin programmi Festival käivitatava faili asukoht. Kui Festival asub keskkonnamuutujaga PATH määratud asukohas, kirjuta lihtsalt ``festival``.

- Klõpsa siia saadaolevate häälte otsimiseks.

- Vali hääl.

- Klõpsa siia testimiseks. Peaksid kuulma testlauset.

- Siin saab määrata kõnesünteesi helitugevuse, kõne kiiruse ja tooni. Kui mõni neist ei ole aktiivne (on halli värvi), ei toeta antud hääl selle omaduse muutmist.

- Mõned hääled, eriti MultiSyn-hääled, on nii mahukad, et nõuavad laadimiseks mitu sekundit. Selle kasti märkimisel laetakse need kohe KTTSD käivitamisel, mis säästab aega (kuigi kulutab enam mälu) esimese kõneldava lause sünteesil.

Klõpsuga nupule OK saab salvestada kõneleja seadistused.

Klõpsa kindlasti nupule Rakenda, muidu ei kasutata tehtud muudatusi töötavas &kmyapplication; süsteemis.

Kui test õnnestus, on &kmyapplication; peaaegu kasutamisvalmis. Mine nüüd kaardile Üldine ja märgi ära valik Teksti kõneks muutmise süsteemi (KTTSD) lubamine. See käivitab KDE TTS-deemoni. Vaata general. Seejärel võid kasutada &kmyapplication;-d teksti kõnelemiseks. Kaardil Tööd saad tekstitöid luua ja hallata. Vaata jobmgr.

### KTTSD käivitamine ja üldised valikud

Kui oled määranud vähemalt ühe kõneleja, võid hakata kasutama KDE teksti kõneks muutmise süsteemi. Klõpsa sakile Üldine. Avaneb kaart Üldine. Siin saab määrata mõned üldised valikud.

KDE teksti kõneks muutmise haldur (kaart Üldine). KDE teksti kõneks muutmise haldur (kaart Üldine)

- Seda kasti märkides saab aktiveerida &kmyapplication; süsteemi. See käivitab KDE TTS-deemoni (KTTSD). KTTSD edukal käivitamisel ilmub nähtavale kaart Tööd. Kui KTTSD on käivitatud, saad hakata tekstitöid looma ja teksti kõnelema. Vaata jobmgr. Kastist märke eemaldamine peatab KTTSD ja lülitab KDE TTS-süsteemi välja.

  Kui see kast ei ole sees, ei ole sa veel määranud ühtegi kõnelejat (või oled unustanud klõpsata nupule Rakenda). Vaata select-plugin.

- Selle kasti märkimisel saab lasta kõnelda KDE märguandeid. Vaata knotify .

- Selle kasti märkimisel kõneldakse ainult neid KDE märguandeid, mida näidatakse hüpikaknas.

- Selle kasti märkimisel kõneldakse ainult neid KDE märguandeid, mida näidatakse passiivses hüpikaknas.

- Selle kasti märkimisel ilmub `kttsmgr` käivitamisel ikoon süsteemsesse salve. Selle korral ei põhjusta klõps nupule OK või Loobu veel `kttsmgr` töö lõpetamist. Dialoog küll kaob, kuid `kttsmgr` jätkab tööd süsteemses salves. Klõpsuga ikoonile saab dialoogi taas nähtavaks muuta. `kttsmgr` töö lõpetamiseks klõpsa hiire parema nupuga süsteemse salve ikoonil ja vali Välju. Kui kast on märkimata, ei näidata süsteemses salves ikooni. Klõps nupule OK või Loobu lõpetab ühtlasi `kttsmgr` töö.

  Kui `kttsmgr` lõpetab töö, jääb &kmyapplication; ometi tööle, kui ära on märgitud kast Teksti kõneks muutmise süsteemi (KTTSD) lubamine.

  See valik rakendub alles `kttsmgr` järgmisel käivitamisel.

  Sel valikul pole mõju, kui `kttsmgr` on tööle pandud KDE juhtimiskeskuses.

- Selle kasti märkimisel ilmub alati `kttsmgr` dialoog, kui käivitad `kttsmgr`. Kui see on märkimata, ilmub `kttsmgr` ikoon süsteemses salves, kui käivitad `kttsmgr`, aga dialoogi ei näidata. Klõps süsteemse salve ikoonile toob dialoogi nähtavale.

- Klõpsa kindlasti siia, kui soovid oma seadistusi salvestada.

### Tekstitööde haldamine

Klõpsuga sakile Tööd `kttsmgr` dialoogis ilmub nähtavale kaart Tööd.

KDE teksti kõneks muutmise haldur (kaart Tööd). KDE teksti kõneks muutmise haldur (kaart Tööd)

- Selle tööriistariba nuppudega saab tekstitöid käivitada, kustutada ja peatada. Vali allolevast nimekirjast töö ja kasuta siis vajalikku nuppu.

- Selle tööriistariba nuppudega saab nimekirjast valitud tekstitöös lausekaupa edasi või tagasi liikuda (arvesta, et mitte kõigil töödel pole osasid).

- Selle tööriistariba nuppudega saab kõnelda parajasti KDE lõikepuhvris olevat teksti või avada tekstifaili, mida soovid lasta kõnelda. Samuti saab siin tekstitööde nimekirja värskendada.

- Siin on näha parajasti kõneldav lause. Vajaduse korral saab paneeli suurust muuta, lohistades eraldajat üles- või allapoole.

- Klõpsuga nupule OK rakendatakse kõik muudatused dialoogi muude kaartide seadistustes (kui neid on) ning `kttsmgr` minimeeritakse süsteemsesse salve. Klõpsuga süsteemse salve ikoonil saab dialoogi taas nähtavale tuua.

Kaart Tööd on näha ainult siis, kui KTTSD töötab. Kui sa ei näe kaarti Tööd, vali kaart Üldine ja märgi ära kast Teksti kõneks muutmise süsteemi (KTTSD) lubamine.

### Heliseadistused

Klõpsuga sakile Audio `kttsmgr` dialoogis ilmub nähtavale kaart Audio.

KDE teksti kõneks muutmise haldur (kaart Audio). KDE teksti kõneks muutmise haldur (kaart Audio)

- Vali siin heliväljundi meetod. Kui GStreamer ei ole kasutatav, tähendab see, et &kmyapplication; on kompileeritud ilma GStreameri toetuseta või ei suuda &kmyapplication; laadida vajalikke GStreameri teeke.

- Kui heliväljundiks on valitud GStreamer, vali siin GStreameri audioneelu meetod. Kui ühtegi neelu ei ole näha, tuleb vähemalt üks paigaldada. Vaata requirements.

- Siin saab reguleerida kõneleimise kiirust. 50% on umbes kaks korda aeglasem tavalisest kiirusest, 200% aga umbes kaks korda kiirem. Selle seadistamiseks peab olema paigaldatud utiliit `sox`.

- Selle kasti märkimisel kopeerib &kmyapplication; ajutised helifailid (.wav-failid) määratud kataloogi. Valida võib suvalise kataloogi kõvakettal, aga sul peab olema selles kirjutamisõigus. See on kasulik näiteks kõnefailide loomisel, mida saab hiljem millekski muuks tarvitada. Failidele antakse nimi kujul `kttsd-J-SS`, kus `J` on tekstitöö ja `SS` lause järjekorranumber. Samanimelised varasemad failid kirjutatakse üle. Ära unusta pärast vajaduse möödumist sellest kastist märget eemaldamast, muidu võib su kõvakettal peagi ruum otsa lõppeda!

- Klõpsa kindlasti nupule Rakenda, kui soovid uusi seadistusi kasutada töötavas &kmyapplication; süsteemis.

&kmyapplication; võimaldab kõnelemise kiirust muuta kahel moel: paljudel kõnelejatel on seadistustedialoogis valik Kiirus (selle dialoogi saab avada, kui klõpsata kaardil Kõnelejad nupule Muuda). Valik Kiirus kaardil Audio on täienduseks kõnelejate kiiruseseadistusele ja mõeldud ennekõike juhuks, kui kõneleja ei toeta kiiruse määramist. Selle valiku kasutamiseks peab süsteemi olema paigaldatud utiliit `sox` (Debiani kasutajatele: `apt-get install sox`). Samuti ei arvestata seda, kui kõneldakse SSML-i sisaldavat teksti (vaata ssml).

### Filtrid

Filtrid kujutavad endast &kmyapplication; võimsat lisaomadust. &kmyapplication; lihtsamate, tavaliste operatsioonide jaoks ei ole filtreid vaja.

Filtreid kasutatakse tekst eeltöötluseks enne selle saatmist kõnesünteesi mootorile. Neist on kasu kõne täiustamisel, valesti kõneldud sõnade või lühendite asendamisel, sobiva keele ja kõneleja valimisel või kõnesüntesaatorite ja häälte teatud piirangute vältimisel.

Filtrite kasutamiseks tuleks kõigepealt üritada mõista, kuidas &kmyapplication; teksti töötleb. &kmyapplication; kõneldav tekst võib olla nelja liiki.

- Ekraanilugeja väljund

- Hoiatused

- Teated

- Tekstitööd

Liigi määrab rakendus, mis saadab teksti &kmyapplication;-le. Ekraanilugeja väljundit kasutavad rakendused, mis on mõeldud pimedatele või vaegnägijatele. Ekraanilugeja väljund kõneldakse alati enne muid liike ning see katkestab kõik muud kõneliigid. Hoiatused ja teated on lühisõnumid, mis annavad teada mingist kiireloomulisest asjast. Need võivad katkestada tekstitöid. Hoiatustel on suurem prioriteet kui teadetel. Üks rakendusi, mis kasutab kõnelemisel teateid, on KMouth. Ka KDE märguanded on teated. Kõik muu on tavaline tekstitöö. Kõik tööd, mille käivitad kaardil Tööd, on tavalised tekstitööd. Üks rakendusi, mis kasutab tekstitöid, on KSayit. Tekstitööd on mõeldud pikemaks kõneks, mis ei ole väga prioriteetne.

Filtrite juures tasuks kõigepealt tähele panna, et nad rakenduvad ainult tavalistele tekstitöödele ja KDE märguannetele. Filtreid ei rakendata ekraanilugeja väljundi, hoiatuste ega muude teadete korral.

Filtreid on kaht tüüpo: tavalised filtrid ja lausepiiri tuvastamise (SBD) filtrid. SBD-filtrid jagavad teksti üksiklauseteks. See võimaldab &kmyapplication;-l kiiremini kõnelda, sest vaja on sünteesida ainult esimene lause, mitte aga kogu tekstitöö. See võimaldab ka kaardil Tööd lausekaupa edasi või tagasi liikuda või tekstitöid peatada või katkestada isegi siis, kui kõnesüntesaator ei toeta otseselt kõne peatamist.

Tavalised filtrid töötlevad teksti ja saadavad selle edasi järgmisele filtrile. Praegu on olemas kolme liiki tavalisi filtreid.

- Stringiasendajad

- XML-i transformeerijad

- Kõneleja valijad

Filtrid on kasutusel pluginaarhitektuuri vahendusel. Tulevikus võib filtreid juurde tekkida.

Stringiasendusfiltrid asendavad tekstiosa mingi muu tekstiga. Asendatavad osad peavad sobima määratud sõnadele või regulaaravaldistele. &kmyapplication; kasutab eelnevalt määratud stringasendusfiltreid lühendite, kiirsuhtluse emotikonide (näiteks ":-)") kõnelemiseks või Konversationi ja KMaili märguannete vorminduse muutmiseks mõistetavamaks.

XML-i transformeerijad kasutavad XML-keele stiiliteisenduste (XSLT) faili ühes vormingus XML-i teisendamiseks teise vormingusse. &kmyapplication; pakub välja XSLT-faili XHTML-i teisendamiseks SSML-iks, kuid see on veel väga eksperimentaalne.

Kõneleja valijad võimaldavad suuna töid kõnelejale vastavalt teksti sisule või rakendusele, mis töö &kmyapplication;-le saadab. Kui oled näiteks määratud kaardil Kõnelejad naishäälega kõneleja, võid saata kõik KDE märguanded just sellele kõnelejale. Vaata select-plugin.

Kõigil filtritel on seadistatavad reeglid, mida kasutatakse filtri rakendamisel kõneldavale tekstile. Kui filter leiab, et antud juhul ei näe reeglid millegi muutmist ette, edastatakse tekst järgmisele filtrile muutmata kujul.

Tekstitöö või KDE märguande saatmisel &kmyapplication;-le läbib see kõik seadistatud ja sisselülitatud filtrid, mida allpool lähemalt tutvustame. Filtreid rakendatakse nii, nagu nad nimekirjas esinevad - ülalt alla. Pärast kõigi tavaliste filtrite läbimist, mida näeb dialoogi ülaosas, edastatakse tekstitööd lausepiiri tuvastamise (SBD) filtritele (KDE märguanded SBD-filtreid ei läbi). Erinevalt tavalistest filtritest peatab esimene SBD-filter, mis teksti muudab, selle edasise töötlemise.

Filtrite kasutamiseks klõpsa `kttsmgr` dialoogis kaardile Filtrid.

KDE teksti kõneks muutmise haldur (kaart Filtrid). KDE teksti kõneks muutmise haldur (kaart Filtrid)

- See on seadistatud tavaliste filtrite nimekiri. Märkimatajätmisel ei lülitata filtrit sisse ega lisata filtriahelasse. &kmyapplication; esmakäivitusel täidetakse nimekiri automaatselt kõigi filtritega, kuid nad ei ole aktiivsed. Filtrid rakendatakse siintoodud järjekorras ülalt alla.

- Klõpsa siia uue filtri lisamiseks. Sinu käest päritakse, millist liiki filter lisada. Kui oled liigi valinud, näed üht alltoodud seadistustedialoogidest.

- Klõpsa siia filtri eemaldamiseks. Kui sellist laadi filtrit rohkem nimekirjas ei esine, seda ei eemaldata, vaid muudetakse ainult mitteaktiivseks.

- Klõpsa siia filtri seadistamiseks. Selle peale avaneb vastavalt filtrile mõni alltoodud seadistustedialoogidest.

- Klõpsa neile nuppudele filtri liigutamiseks nimekirjas üles- või allapoole.

- Need on sõnapiiri tuvastamise filtrid. &kmyapplication; esmakäivitusel seadistatakse sinu eest automaatselt standardne sõnapiiri tuvastaja. Sul on võimalik muuta selle seadistusi või lisada täiendavaid sõnapiiri tuvastajaid, kuid eriti algajatele ei ole soovitatav seda ette võtta.

- See hüpikmenüüga nupp võimaldab sõnapiiri tuvastamise filtreid lisada, eemaldada, muuta või nende järjekorda muuta.

- Klõpsa kindlasti siia, muidu sinu seadistusi ei rakendata.

#### Stringasendusfiltrite seadistamine

Stringiasendusfiltreid saab seadistada otsitavate sõnade või regulaaravaldiste nimekirja kirjeid lisades või muutes. Kui tekstis leitakse otsitavad sõnad või regulaaravaldise vasted, asendatakse need siin antud asendusega. Sobivuse leidmine arvestab tõstuga ehk tähesuurusega.

Stringiasendaja Stringiasendaja

- Määra siin filtri nimi. See võib olla milline tahes, seda kasutatakse selleks, et sa ise suudaksid üht filtrit teisest eristada.

- See on sõnade ja regulaaravaldiste nimekiri. Filter otsib kõigi veerus Sobivus antud stringide vasteid ja leidmisel asendab need stringiga veerust Asendus.

- Klõpsa siia sõna või regulaaravaldise lisamiseks nimekirja.

- Klõpsa siia parajasti valitud sõna või regulaaravaldise liigutamiseks nimekirjas üles- või allapoole. Nimekirja läbitakse siin antud järjekorras ülalt alla.

- Klõpsa siia nimekirjas oleva sõna või regulaaravaldise muutmiseks.

- Klõpsa siia parajasti valitud sõna või regulaaravaldise eemaldamiseks nimekirjast.

- Nende nuppudega saab laadida sõnu või regulaaravaldisi sisaldava faili, salvestada senise nimekirja failina või puhastada kogu nimekirja. Faili laadimisel lisatakse selles leiduvad kirjed senise nimekirja lõppu.

- Kui see ei ole tühi, rakendatakse filtrit ainult juhul, kui tekstitöö kõneleja keel vastab siinsisestatud keelel. Nupule klõpsates saab näha võimalikke keeli. Enam kui ühe keele saab valida, kui keeltele klõpsamise ajal hoida all klahvi &Ctrl;.

- Kui see ei ole tühi, rakendatakse filtrit ainult juhul, kui tekst on pärit mõnelt siin antud rakenduselt. Komadega eraldatult saab määrata ka mitu rakendust, näiteks ``knotify,konversation``.

  Töötavate programmide rakenduse ID saab leida programmiga `kdcop`. DCOP-numbrid tuleb küll sel juhul välja jätta programm. Kui näiteks KDCOP näitab rakenduse ID-ks `kopete-3432`, tuleb siin anda lihtsalt ``kopete``.

Stringiasendusfiltrit rakendatakse ainult juhul, kui kõik kastis Filtri rakendamise tingimused esinevad mittetühjad tingimused on täidetud.

Kõik otsingud on tõstutundlikud.

Sõnade otsimisel ja asendamisel kasutab stringiasendusfilter seesmiselt regulaaravaldist kujul `\s`sõna`\s`. See tähendab, et sõnal peab mõlemalt poolt ümbritsema vähemalt üks tühik.

Pikem seletus, kuidas panna kirja regulaaravaldisi, väljub käesoleva käsiraamatu piiridest. Kui sul on paigaldatud KDE regulaaravaldiste redaktor, on pärast nupule Lisa või Muuda ilmuvas dialoogis olemas nupp, millele klõpsates saad regulaaravaldise graafiliselt luua. KDE regulaaravaldiste redaktor kuulub paketti `kdeutils`.

&kmyapplication; pakub välja teatud valiku sõnade nimekirju, sealhulgas emotikonid (näiteks ":-)"), mõned tavalisemad IRC-s või kiirsuhtlusrakendustes kasutatavad lühendid ja veel mõned levinumad lühendid. On ka omaette erisümbolite nimekiri, mida praegune Festivali poola hääl ei suuda käsitleda. Kui oled loonud ise mõne asjaliku sõnade nimekirja, kasuta nuppu Salvesta selle salvestamiseks failina ning saada see siis &kmyapplication; meeskonnale, kes võib selle järgmise versiooniga juba kaasa panna.

#### XML-teisenduse filtrite seadistamine

XML-teisenduse filter kasutab XSLT-faile XML-i teisendamiseks ühest vromingust teise. XML-keele stiiliteisendused ehk XSLT on W3C standarditele vastav keel, mis võimaldab selliseid teisendusi ette võtta. Kasutada saab siiski ainult korrektset XML-i.

XML-teisendus XML-teisendus

- Määra siin filtri nimi. See võib olla milline tahes, seda kasutatakse selleks, et sa ise suudaksid üht filtrit teisest eristada.

- Määra siin XSLT-faili täielik asukoht, mida soovid kasutada teisendamiseks.

- Määra siin programmi `xsltproc` asukoht. Kui see asub keskkonnamuutujaga PATH määratud asukohas, kirjuta lihtsalt ``xsltproc``.

- Kui see ei ole tühi, rakendatakse filtrit ainult siis, kui XML-il on määratud juurelement. See eristab üht XML-i vormi teisest.

- Kui see ei ole tühi, rakendatakse filtrit ainult siis, kui XML-il määratud stringiga algav `<!DOCTYPE` spetsifikatsioon. Näiteks ``html`` korral on see `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >`.

- Kui see ei ole tühi, rakendatakse filtrit ainult juhul, kui tekst on pärit mõnelt siin antud rakenduselt. Komadega eraldatult saab määrata ka mitu rakendust, näiteks ``knotify,konversation``.

  Töötavate programmide rakenduse ID saab leida programmiga `kdcop`. DCOP-numbrid tuleb küll sel juhul välja jätta programm. Kui näiteks KDCOP näitab rakenduse ID-ks `kopete-3432`, tuleb siin anda lihtsalt ``kopete``.

XML-teisenduse filtrit rakendatakse ainult juhul, kui kõik kastis Filtri rakendamise tingimused esinevad mittetühjad tingimused on täidetud.

#### Kõneleja valimise filtrite seadistamine

Kõneleja valimise filtreid saab kasutada kõne suunamiseks vajalikule kõnelejale, mis on seadistatud kaardil Kõnelejad, või mis tahes määratud omadustega kõnelejale. Nii saab näiteks määrata, et tekst, mille saadab `knotify`, kõneldakse alati naishäälega. Vaata select-plugin.

Enne seda, kui &kmyapplication; saadab teksti filtritele, valitakse välja seda hiljem kõnelema asuv kõneleja. Kõneleja valik tugineb kõneleja atribuutidele, mille määrab rakendus, mis teksti &kmyapplication;-le saatis, ning kaardil Kõnelejad seadistatud kõneleja atribuutidele. Kõneleja valimise filtriga saab tühistada kõneleja vaikevaliku.

Kõneleja valik Kõneleja valik

- Määra siin filtri nimi. See võib olla milline tahes, seda kasutatakse selleks, et sa ise suudaksid üht filtrit teisest eristada.

- Kui see pole tühi, rakendatakse filtrit ainult juhul, kui tekst sisaldab siinmääratud regulaaravaldist. Kui sul on paigaldatud KDE regulaaravaldiste redaktor, klõpsa vastavat nuppu ning redaktor aitab sul luua sobiva regulaaravaldise.

  Et asjad paremini sujuks, ürita "ankurdada" regulaaravaldis stringi algusse - see tähendab, alusta regulaaravaldist sümboliga ``^``.

- Kui see ei ole tühi, rakendatakse filtrit ainult juhul, kui tekst on pärit mõnelt siin antud rakenduselt. Komadega eraldatult saab määrata ka mitu rakendust, näiteks ``knotify,konversation``.

  Töötavate programmide rakenduse ID saab leida programmiga `kdcop`. DCOP-numbrid tuleb küll sel juhul välja jätta programm. Kui näiteks KDCOP näitab rakenduse ID-ks `kopete-3432`, tuleb siin anda lihtsalt ``kopete``.

- Määra siin kõneleja omadused, mida soovid teksti kõnelemiseks kasutada. Kui tekst vastab ülaltoodud filtritingimustele, valitakse kõneleja, mis kõige enam vastab siinmääratud omadustele. Sellele nupule klõpsates saab määrata kindlaks keele.

- Ka nende kirjetega saab määrata selle kõneleja omadusi, mida soovid teksti kõnelemiseks kasutada. Kõiki omadusi ei pruugi tingimata kindlaks määrata.

- Neid kaste märkides saad määrata, et mingi omadus on tähtsam kui ülejäänud.

Kõneleja valimise filtrit rakendatakse ainult juhul, kui kõik kastis Filtri rakendamise tingimused esinevad mittetühjad tingimused on täidetud.

Omadus Keel on mõnevõrra eriline, sest tekst on usutavasti üsna äratundmatu, kui seda kõneleb kõneleja, mis kasutab tekstist erinevat keelt. Seepärast on keel automaatselt eelistatud omadus. Kui määrad keele, siis tühistab see valitud keele, kui aga jätad välja tühjaks, kasutatakse keelt, mille &kmyapplication; on juba vaikimisi valinud. Kui rakendus, mis saadab teksti &kmyapplication;-le, ei määra keelt, omistab &kmyapplication; sellele kaardil Kõnelejad kõige esimesena seisva kõneleja keele. Ülejäänud omadused tühistavad alati vaikeväärtused. See tähendab, et kui jätad näiteks välja Hinnang tühjaks, kasutab kõneleja valija kõige paremini sobivat kõnelejat.

Kõige lihtsam on kõneleja valimise filtrit seadistama õppida katsetades. Keela kõneleja valija ja saada rakendusele mingi tekst. Pane kaardil Tööd tähele, millise kõneleja &kmyapplication; valib. Lülita kõneleja valija sisse, määra teatud omadused ja saada taas mingi teksti ning vaata, kuidas sinu muudatused mõjuvad. Muidugi on selleks, et kõneleja valija üldse midagi mõistlikku teeks, vajalik seadistada enam kui üks kõneleja.

#### Lausepiiri tuvastamise filtrite seadistamine

Lausepiiri tuvastamise (SBD) filtrid lahutavad teksti üksiklauseteks. See on oluline, sest

- võimaldab &kmyapplication;-l hakata kiiremini kõnelema, kuna sünteesida on vaja ainult esimene lause, mitte aga terve tekstiblokk, mis võib olla päris pikk

- võimaldab kaardil Tööd lausekaupa edasi ja tagasi liikuda

- võimaldab kaardil Tööd tekstitöid peatada või katkestada isegi juhul, kui kõnesüntesaator ei toeta kõnelemise peatamist.

Mainitud põhjustel seadistatakse lausepiiri tuvastamise filter automaatselt juba `kttsmgr` esimesel käivitamisel ning seda ei saa välja lülitada (kuigi selle võib eemaldada). Me soovitame seda filtrit mitte muuta, kui sa just väga täpselt ei tea, mida teed.

Mõistagi saab oma mingite probleemide lahendamiseks lisada täiendavaid SBD-filtreid. Nii oli 2005. aasta veebruari seisuga Festivali poola häälel ebameeldiv komme kõnelda ka kirjavahemärke. Näiteks öeldi sõnades välja iga lause lõpus seisev punkt. Seda probleemi ei saa lahendada stringiasendusfiltriga, mis eemaldaks lausest kirjavahemärgid, sest sel juhul ei suudaks standardne sõnapiiri tuvastaja enam ühtegi lauset tuvastada. Selle asemel saab aga luua standardse sõnapiiri tuvastaja modifitseeritud versiooni, mis tuvastab lausd ja samal ajal eemaldab kirjavahemärgid. Selleks lisa SBD-filter ning kasuta nuppu Laadi &kmyapplication;-ga kaasasoleva faili `polish_festival_sbdrc` laadimiseks.

SBD-filtrid töötavad lause lõpule vastava regulaaravaldise tuvastamise ning tabeldusmärgi lisamisega lausepiiridele (tabeldusmärgid eemaldatakse automaatselt tekstist enne filtreerimist). Pane tähele, et standardne sõnapiiri tuvastaja säilitab lauses kõik kirjavahemärgid.

SBD-filtreid ei rakendata KDE märguannete (KNotify) korral.

Kui eemaldad kogemata standardse sõnapiiri tuvastamise filtri, saad selle taastada &kmyapplication;-ga kaasasolevat faili `standard_sbdrc` laadides.

### Tekstikatkestuse seadistamine

Klõpsuga sakile Tekstikatkestus `kttsmgr` dialoogis avaneb kaart Tekstikatkestus.

KDE teksti kõneks muutmise haldur (kaart Tekstikatkestus). KDE teksti kõneks muutmise haldur (kaart Tekstikatkestus)

Sellel kaardil saab määrata toimingud, mis võetakse ette siis, kui tekstitöö katkestab mõni suurema prioriteediga teade. &kmyapplication; tegeleb nelja liiki kõnetöödega:

- Tavaline tekst

- Teated

- Hoiatused

- Ekraanilugeja väljund

Ekraanilugeja väljundi prioriteet on suurim. See on mõeldud ekraanilugemisrakendustele. Ekraanilugeja väljundi korral katkestatakse mis tahes muud kõnetööd. Kui ekraanilugeja väljund on kõneldud, jätkatakse poolelijäänud töid automaatselt.

Hoiatuste prioriteet on veidi väiksem. See on mõeldud tõesti olulistele teadetele, näiteks "Protsessor on ülekuumenenud". Hoiatus on tähtsam kui teated ja tavaline tekst ning see sunnib need peatuma. Kui hoiatus on kõneldud, jätkatakse poolelijäänud töid automaatselt.

Teadete prioriteet on veelgi väiksem. Teade on olulisem kui tavaline tekst. Teateid kasutab näiteks rakendus KMouth. Kui näiteks parajasti kõneldakse mõne veebilehekülje pikka teksti, võib KMouth vahele seda ja tervitada kedagi, kes tuppa astub.

Kõik neli tekstitöö liiki esitatakse järjekorras, välja arvatud ekraanilugeja väljund. Kui rakendus saadab ekraanilugeja väljundi ajal, mil &kmyapplication; kõneleb varasemat ekraanilugeja väljundit, peatatakse ja kustutatakse varasem kõne.

Kui tekstitööd katkestab teade, hoiatus või ekraanilugeja väljund, lisab &kmyapplication; antud ekraani audioväljundi voole.

- See sõnum kõneldakse siis, kui tavalise teksti kõnelemine katkestatakse.

- See helifail esitatakse siis, kui tavalise teksti kõnelemine katkestatakse. Kui määratud on nii eelheli kui ka eelsõnum, kõlab eelheli enne eelsõnumit.

- See sõnum kõneldakse siis, kui tavalise teksti katkestus lõpeb.

- See helifail esitatakse siis, kui tavalise teksti katkestus lõpeb. See esitatakse viimasena.

Selle dialoogi seadistused kehtivad ainult tavalise teksti kõnelemisel. Teadetel, hoiatustel ja ekraanilugeja väljundil ei ole eritoiminguid, kui neid katkestab suurema prioriteediga sõnum.

### Veebilehekülgede teksti kõnelemine

Veebilehitsejat Konqueror kasutades võib lasta kõnelda näidatavaid veebilehekülgi. Selleks kontrolli esmalt, et &kmyapplication; töötab. Vali tekst, mida soovid lasta kõnelda, ning seejärel menüükäsk Tööriistad Kõnele teksti. Hetke pärast peaksid kuulma, kuidas valitud teksti kõneldakse.

Peaaegu alati on mõttekas veebileheküljel valida kindel tekst, mida kõnelda. Seda ei pruugi muidugi teha, aga sel juhul pead tõenäoliselt leppima, et kuuled kõnes ka arvukaid HTML-päiseid ja muid muidu nähtamatuid asju.

### Teksti kõnelemine tekstiredaktoris Kate

KDE võimsa tekstiredaktori Kate kasutamisel võib lasta kõnelda näidatavat teksti. Kõigepealt kontrolli, et &kmyapplication; töötab. Vali tekst, mida soovid lasta kõnelda, ning seejärel menüükäsk Tööriistad Kõnele teksti. Hetke pärast peaksid kuulma, kuidas valitud teksti kõneldakse.

Teksti ei pruugi muidugi valida, sellisel juhul kõneldakse kogu avatud fail.

Seda saab kasutada ka siis, kui Kate töötab põimituna mõnes muus rakenduses, näiteks Konqueror või Quanta.

### Märguannete kõnelemine (KNotify)

KNotify on KDE märguannete alamsüsteem, mis annab sulle teada neist KDE-s toimuvatest asjadest, mida oled soovinud teada saada. &kmyapplication; on võimalik panna tekstimärguandeid kõnelema.

Nii võimaldab näiteks KDE IRC rakendus Konversation määrata terve rea märguandeid erinevate sündmuste jaoks. Konversation võib näiteks teada anda, kui mõnel IRC kanalil esineb sõnumis sinu hüüdnimi. &kmyapplication; abil võid lasta KDE-l ka terve vastava IRC sõnumi ette lugeda.

Üldiselt esineb juhul, kui KDE rakendus toetab KNotify'd, kirje Märguannete seadistamine menüüs Seadistused. Kuidas ja mida seadistada saab, sõltub muidugi ennekõike vastavast rakendusest endast.

Kui soovid, et &kmyapplication; kõneleks KNotify tekstimärguandeid, käivita `kttsmgr`, vali kaart Üldine ning märgi ära kast Märguannete kõnelemine (KNotify). Seejärel klõpsa nupule Rakenda.

### SSML

Kõnesünteesi märkekeel (Speech Synthesis Markup Language, SSML) on W3C standard kõneväljundi teksti ülestähendamiseks. See kasutab silte häälte, kõnekiiruse, helitugevuse, kõneleja soo ja tooni juhtimiseks. Siltidega saab ka määrata sõnade kõnelemist, näiteks lühendite hääldust. SSML on osa VoiceXML-i spetsifikatsioonist, mis on samuti W3C standard.

Hetkel pakub &kmyapplication; üsna piiratud elementaarset SSML-i toetust. Sellel on järgmised piirangud.

- Toimib ainult Festival Interactive'i ja Hadifixi kõnelejatega.

- Paigaldada tuleb `rab_diphone` (briti mehe) hääl, mis on Festivali vaikehääl SSML-i kõnelemisel.

- Kiiruse valikut kaardil Audio ignoreeritakse SSML-i sisaldava teksti kõnelemisel.

- Kui Festivali seadistustedialoogis pole kiirus või toon määratud 100% peale, kõneldakse SSML-tekst tavaliselt täiesti monotoonselt.

Järgnevat (ingliskeelset) näiteteksti võib pruukida SSML-i katsetamiseks.

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE speak PUBLIC "-//W3C//DTD SYNTHESIS 1.0//EN"
        "http://www.w3.org/TR/speech-synthesis/synthesis.dtd">

    <speak version="1.0" xml:lang="en-US">
        <prosody pitch="low">
            Who's been sleeping in my bed?
        </prosody>
        said papa bear.
        <prosody pitch="medium">
            Who's been sleeping in my bed?
        </prosody>
        said momma bear.
        <prosody pitch="high">
            Who's been sleeping in my bed?
        </prosody>
        said baby bear.
    </speak>

&kmyapplication; järgmises versioonis peaks SSML-i toetus olema juba palju parem ja korralikum.

## Käskude seletused

Veel kirjutamata

## &kmyapplication; arendajatele

&kmyapplication;-l on kaks programmiliidest (API):

- KDE tekst kõneks muutmise API, mida rakenduse programmeerijad saavad kasutada oma rakendusele TTS-võimaluste lisamiseks. Rakendused suhtlevad KTTSD-ga DCOP-i vahendusel.

- KTTSD plugina API, mida saab kasutada kõnesünteesipluginate lisamiseks KTTSD-le, et &kmyapplication; suudaks kasutada uut kõnesünteesi mootorit.

Järgnevas osas kirjeldame lühidalt KDE teksti kõneks muutmise API DCOP-liidest. Mõlema API täieliku dokumentatsiooni leiab internetist KDE hõlbustuse veebisaidilt (http://accessibility.kde.org).

### &kmyapplication; DCOP-liides

Rakendused saadavad teksti kõneks muutmise teenuse soovid KDE DCOP-liidese vahendusel `kttsd` objektile `KSpeech`.

Anna järgnevad käsud Konsoolis.

Kui KTTSD veel ei tööta

`kttsd`

Kõneldava tekstitöö järjekorda asetamiseks

`dcop kttsd KSpeech setText "`tekst`" "`kõneleja`"`

kus ``tekst`` on kõneldav tekst ja ``kõneleja`` keelekood, näiteks ``en``, ``et`` vms. See käsk ei kõnele veel teksti, vaid seal tekstitöö kõnelemise järjekorda.

Näide:

`dcop kttsd KSpeech setText "This is a test." "en"`

Viimase järjekorda seatud tekstitöö kõnelemiseks

`dcop kttsd KSpeech startText `0``

Antud juhul tähendab `0` järjekorra viimast tekstitööd. Määrata võib ka tekstitöö järjekorranumbri (kui numbrit ei anta, eeldatakse see olevat `0`).

Parajasti kõneldava teksti katkestamiseks

`dcop kttsd KSpeech stopText 0`

Sõltuvalt kasutatavast kõnepluginast ei pruugi kõnelemine otsekohe katkeda.

Saata saab üsna palju käske. Võimalike käskudega tutvumiseks kasuta käsku

`dcop kttsd KSpeech`

või tutvu võrgus KDE teksti kõneks muutmise API-ga.

## Küsimused ja vastused

&reporting.bugs; &updating.documentation;

Mul on vaja uuesti alustada. Kuidas &kmyapplication; täiesti tööst välja lülitada?

Anna Konsoolis järgmised käsud:

    killall kttsd
    killall kttsmgr

Kuidas näha `kttsd` silumisväljundit?

Ava kaks Konsooli akent. Käivita ühes neist `kttsd` ning seejärel teises `kttsmgr`.

Tõmbasin internetist täiendavaid Festivali hääli. Paigaldasin need ja ma saan ka Festivali kasutada, aga `kttsmgr` neid ei näita.

Redigeeri uue hääle lisamiseks faili `$KDEHOME/share/apps/kttsd/festivalint/voices`. Sealsed kirjed peaksid selgeks tegema, kuidas seda tuleb teha. Kui oled hääle edukalt lisanud, saada palun vastav paik ka arendajatele ning maini ühtlasi, kust sa selle häälefaili hankisid (veebisaidi aadress).

Ükski toetatud kõnesüntesaatoritest ei toeta keelt, mida mul vaja läheks. Kuidas siis panna süntesaator minu keeles tööle?

Siin on sinu sõber Google(tm). Abiks võib olla ka see viit. Kui leiad vabatarkvaralise sünteesimootori, mis toetab sinu keelt, ning soovid, et seda toetaks ka &kmyapplication;, võta arendajatega ühendust. Eriti oodatud on mõistagi just vabatarkvaralised lahendused. Kui tead kommerts-kõnesüntesaatorit, õnnestub sul vahest veenda selle tootjat või levitajat annetama vaba koopia &kmyapplication; arendajatele. Seni aga võib olla võimalik oma keel tööle saada käsureapluginaga. Vaata using-with-command.

## Autorid ja litsents

&kmyapplication;

Rakenduse autoriõigus © 2002: José Pablo Ezequiel "Pupeno" Fernández pupeno@kde.org

Praegune hooldaja: Gary Cramblitt garycramblitt@comcast.net

Kaasautorid:

- Olaf Schmidt ojschmidt@kde.org

- Gunnar Schmi Dt gunnar@schmi-dt.de

- Paul Giannaros ceruleanblaze@gmail.com

Dokumentatsiooni autoriõigus © 2004: Gary R. Cramblitt garycramblitt@comcast.net

Tõlge eesti keelde: Marek Laane bald@starman.ee

&underFDL; &underGPL;

&kmyapplication; kasutatavatel kõnesünteesi mootoritel on omaette litsentsid. Vaata neid mootorite dokumentatsioonist või veebisaidilt.

## Paigaldamine

### &kmyapplication; hankimine

&install.intro.documentation;

(TULEVIKUS) Debiani paigaldamiskäsk: `apt-get install kdeaccessibility`

Viidad lähtetekstile ja binaarpakettidele leiab KDE hõlbustuse veebileheküljelt (http://accessibility.kde.org).

Kui sul on ligipääs KDE CVS-hoidlale, võid hankida &kmyapplication; moodulit `kdeaccessibility` välja võttes. &kmyapplication; on kataloogis `kttsd`. Samuti võib tõmmata kogu kdeaccessibility igaöise pakitud versiooni ftp://ftp.kde.org/pub/kde/unstable/latest/kdeaccessibility.tar.bz2.

### Nõuded

Kohustuslikud nõdued:

- KDE versioon 3.2 või uuem.

- Kõnesünteesi mootor. Praegu on toetatud järgmised mootorid ja kõneldavad keeled.

  Festival | Ameerika inglise, briti inglise, hispaania, saksa, soome, tšehhi, poola, vene
  Festival Lite (flite) | Inglise
  Hadifix (MBROLA ja txt2pho) | Saksa
  Epos | Tšehhi, slovaki
  FreeTTS | Inglise

  See töötab ka iga sünteesimootoriga, mida saab käivitada Konsoolist ehk käsurealt.

  Toodud keelteloend ei pruugi olla ammendav või kõige värskem. Kontrolli kõigi mootorite spetsifikatsiooni, kust leiad kõik toetatud keeled.

  &kmyapplication; kasutab kõnesünteesi mootorite jaoks paindlikku pluginaarhitektuuri. Kui soovid &kmyapplication;-d veel paremaks muuta mõne mootori lisamisega, võta ühendust arendajatega.

  Iga mootori kohta annab konkreetseid juhiseid configuration.

Lisakomponendid:

- Audioutiliiti `` läheb vaja üldise kõnelemiskiiruse kohendamiseks. Debiani kasutajad saavad selle paigaldada käsuga `apt-get install sox`. Sox leidub enamikul &Linux; distributsioonide CD-del.

- Utiliiti `xsltproc` on vaja SSML-i toetuse ja XML-teisenduse filtri jaoks. Debiani kasutajad saavad selle paigaldada käsuga `apt-get install xsltproc`.

- GStreamer versioon 0.8.7 või uuem. Vaikimisi kasutab &kmyapplication; heliväljundina aRts'i, kuid GStreameri paigaldamisel võid ka selle valida. GStreameri saab hankida aadressilt

  http://gstreamer.freedesktop.org/

### Kompileerimine ja paigaldamine

&kmyapplication; kompileerimiseks läheb vaja üsna uusi KDE teeke (KDE 3.4 või uuem), sealhulgas paketti kdelibs ja arts.

Kui oled tõmmanud &kmyapplication; tar-pakitud failina, logi sisse tavalise kasutajana ja paki fail sobivasse kataloogi lahti, mine sellesse kataloogi ja anna seal järgmised käsud:

    ./configure
    make

Kui sul on paigaldatud GStreamer 0.8.7 või uuem ning soovid ehitada &kmyapplication; GStreameri toetusega, anna järgmised käsud:

    ./configure --enable-kttsd-gstreamer
    make

Vaikimisi paigaldavad toodud käsud &kmyapplication; kataloogi `/opt/kde3`. Kui see kataloog ei asu keskkonnamuutujaga $`KDEDIRS` määratud asukohas, tuleb lisada võti`--prefix=`target``, näiteks

    ./configure --prefix=/usr/local
    make

Debiani süsteemides on just ``/usr/local`` tavaliselt koht, kuhu paigaldada lähtekoodist kompileeritud rakendused.

Logi sisse administraatorina (root) ning paigalda kompileeritud &kmyapplication; järgmiste käskudega:

    su
    make install

Kui oled tõmmanud &kmyapplication; lähtekoodi `kdeaccessibility` CVS-moodulist või laadinud alla CVS-i igaöise tar-pakitud faili, kasuta kompileerimiseks ja paigaldamiseks järgmisi käske:

    cd kdeaccessibility
    echo kttsd
    >inst-apps
    make -f Makefile.cvs
    ./configure
    cd kttsd
    make
    su
    make install

### Seadistamine

Kontrolli enne &kmyapplication; kasutamist, et kõnesünteesi mootor töötab. Järgi mootoriga kaasasolevaid juhiseid.

Mõnel juhul võib olla vajalik lubada audioseadmele kirjutamise õigus:

`chmod a+rw `/dev/dsp*``

#### Festivali (Interactive) kasutamine

Festival on üks paremaid vabu ja avatud tarkvaraga TTS-mootoreid. Häälekvaliteet on üldiselt hea, toetatud on üsna mitu keelt ja häält. Paljude häälte korral saab juhtida helitugevust, tekitatud kõne kiirust ning tooni kohe &kmyapplication;-s.

Süntesaatori nimi: Festival Interactive

URL: http://www.cstr.ed.ac.uk/projects/festival/

Debiani paigaldamiskäsk: `apt-get install festival`

Paigaldada tuleb vähemalt üks keel. Järgi Festivaliga kaasasolevaid juhiseid.

Täiendavaid Festivali inglise hääli leiab aadressilt

http://hts.ics.nitech.ac.jp/

Täiendavaid hispaania, inglise ja saksa hääli leiab aadressilt

http://cslu.cse.ogi.edu/tts/download/

Nende häälte korral tuleb kompileerida lisamoodul, mistõttu sul peab olema käepärast Festivali lähtekood. Saksa häälte levitamine on piiratud.

Soome mehehääle leiab aadressilt

http://www.ling.helsinki.fi/suopuhe/download/

Poola mehehääle leiab aadressilt

http://www.artegence.com/download/voicexml/speech/festival_polish_voice.tgz

Vene mehehääle leiab aadressilt

http://nshmyrev.narod.ru/festival/festival.html

Selle hääle kasutamiseks peab sul olema Festival 1.95 beta või uuem. Hääl on veel üsna varases arendusjärgus. Paki see lahti kataloogi `festival/lib/voices/russian/`. Vene keele kõnelejat seadistades on hääle kood `msu_ru_nsh_diphone`. Vali kindlasti ühebaidine kirillitsakodeering, näiteks `KOI8-R`.

Festival leidub tavaliselt igas &Linux; distributsioonis, nii et kontrolli selle olemasolu oma distributsiooni CD-del.

Käivita `kttsmgr`. Klõpsa kaardil Kõnelejad nupule Lisa. Vali Festival Interactive ja Keel. Kui dialoogi Kõneleja seadistamine ei ilmu, klõpsa nupule Muuda. Kui Festivali käivitatav fail ei asu keskkonnamuutujaga `PATH` määratud asukohas, anna käivitatava faili täielik asukoht. Klõpsa nupule Otsi uuesti. vali hääl ja klõpsa nupule Test. Seejärel peaksid kuulma testlauset.

Poola või tšehhi keele kasutamisel peab kKodeering kindlasti olema `ISO 8859-2`.

Vene hääle kasutamisel peab kKodeering kindlasti olema ühebaidine kirilitsakodeering, näiteks `KOI8-R`.

##### Festivali kasutamine &mbrola;ga

Festivali võib kasutada ka koos &mbrola; süntesaatoriga. Sellisel juhul sooritab Festival leksikaalse analüüsi ning &mbrola; tekitab heli. &mbrola; binaarfaili ja &mbrola; häälefailid saab tõmmata aadressilt

http://festvox.org/mbrola/

Järgi allalaadimisel saadud failis `readme.txt` leiduvaid juhiseid.

Arvesta, et &mbrola; ei ole täielik teksti kõneks muutmise süsteem. &mbrola; sünteesib kõne difoonifailidest. Sul peab järelikult olema ka tarkvara, mis tekitab difoone. Festivaliga kombineeritult tekitab &mbrola;le vajalikke difoone Festival. Saksakeelsest teksti saab difoone tekitada programmiga `txt2pho`. Täpsemalt räägib sellest using-with-hadifix.

Festivali ja &mbrola; üheskoos kasutamiseks on kolm meetodit.

- &mbrola; pakendid (wrapper). Käsiraamatu kirjutamise ajal oli see meetod piiratud inglise häältega.

- IMS German Festival.

- Festival-Czech.

###### Festivali kasutamine &mbrola; pakendiga

Selle meetodi korral lisatakse Festivalile täiendab pakendikood, mis võimaldab kõnesünteesi &mbrola; häälefaile kasutades. Arvesta, et &mbrola; häälefaile ei paigaldata &mbrola; kataloogipuusse, vaid hoopis `festival/lib/` kataloogi. Juhiseid leiab aadressilt

http://www.cstr.ed.ac.uk/projects/festival/mbrola.html

###### IMS German Festivali kasutamine

IMS German Festival on Festivali modifikatsioon, mis kasutab &mbrola; saksa hääli. See töötab nii Festivali versiooniga 1.4.1 kui ka 2.0 (1.95 beta). Paigalda esmalt Festival ja &mbrola;, kui sa ei ole seda veel teinud. Seejärel tõmba IMS German Festival aadressilt

http://www.ims.uni-stuttgart.de/phonetik/synthesis/festival_opensource.html

Järgi allalaadimisel saadud failis `README` leiduvaid juhiseid. (Pane tähele, et kasutatuna koos Festivali versiooniga 2.0, ei ole vajalik lisada tar-pakitud faili `fixes`, kuid festival tuleb siiski ümber kompileerida.) Lõpuks lisa faili `festival/lib/siteinit.scm` järgmised read:

    (voice-location "german_de1_os" "/usr/local/mbrola/de1"
      "German Female, IMS Festival de1")
    (voice-location "german_de2_os" "/usr/local/mbrola/de2"
      "German Male, IMS Festival de2")
    (voice-location "german_de3_os" "/usr/local/mbrola/de3"
      "German Female, IMS Festival de3")

otse rea ette, millel seisab

    (provide 'siteinit)

Mõnes süsteemis tuleb redigeerida faili `/etc/festival.scm`. Lisa ainult need read, mis vastavad paigaldatud saksa häältele. Anna asukoha ``/usr/local/mbrola/`` asemel vajaduse korral mõni muu, õige asukoht. Pane tähele ka seda, et (vähemalt käsuraamatu kirjutamise ajal) IMS German Festival ei tööta de4, de5 ega de6 saksa häältega.

###### Festival-Czech kasutamine

See meetod kasutab teatud erikoodi kõnesünteesi võimaldamiseks Festivali ja &mbrola; tšehhi hääle koostöös. Paigaldamiseks tõmba kõigepealt Festival ja &mbrola;, paigalda need ja kontrolli, et need töötaks. Seejärel tõmba Festival-Czech aadressilt

http://www.freebsoft.org/festival-czech

Järgnevates näidetes asenda vajaduse korral kataloogid õigetega.

Paki tõmmatud fail lahti sobivasse kataloogi ja loo leksikon. Festivali käivitatav fail peab asuma keskkonnamuutujaga `PATH` määratud asukohas.

    cd /usr/local
    tar xvfz festival-czech.tar.gz
    cd festival-czech
    make

Tõmba &mbrola; veebisaidilt `cz2` häälefail ja paki see lahti &mbrola; kataloogi.

    cd /usr/local/mbrola
    mkdir cz2
    cd cz2
    unzip cz2-001009.zip

Lisa järgmised read faili `festival/lib/siteinit.scm`:

    (set! czech-lexicon-file "/usr/local/festival-czech/czech-lexicon.out")
    (set! load-path (cons "/usr/local/festival-czech" load-path))
    (require 'czech)
    (set! czech-mbrola_database "/usr/local/mbrola/cz2/cz2")
    (set! mbrola_progname "/usr/local/mbrola/mbrola")
    (voice-location "czech_mbrola_cz2" "/usr/local/mbrola/cz2"
        "Czech Male, MBROLA")
    (require 'czech-mbrola)

otse rea ette, millel seisab

    (provide 'siteinit)

Mõnes süsteemis tuleb redigeerida faili `/etc/festival.scm`.

#### Festival Lite'i (flite) kasutamine

Festival Lite on vaba avatud tarkvaraga mootor, mis toetab praegu piiratud arvu hääli ja keeli. See on väga väike, mistõttu mõnevõrra kannatab ka häälekvaliteet. &kmyapplication; võimaldab juhtida mootori tooni, helitugevust ja kiirust.

Süntesaatori nimi: Festival Lite (flite)

URL: http://www.speech.cs.cmu.edu/flite/index.html

Debiani paigaldamiskäsk: `apt-get install flite`

flite on tavaliselt kaasas iga &Linux; distributsiooniga, nii et kontrolli oma distributsiooni CD-sid.

Ehita ja paigalda flite juhiste järgi, mille leiad failist `README`.

#### Hadifixi kasutamine (&mbrola; ja txt2pho)

Hadifix on kaheastmeline difoonipõhine sünteesimootor. Utiliit `txt2pho` teisendab teksti difoonideks ning &mbrola; mootor sünteesib difoonid heliks. Häälekvaliteet on hea, kuid keelte toetus praegu suhteliselt piiratud. kttsmgr võimaldab kontrollida häält, tooni, kiirust ja helitugevust.

Süntesaatori nimi: Hadifix

URL: vaata allpool

Debiani paigaldamiskäsk: puudub

Kui sul ei ole Hadifix veel paigaldatud, tee seda nii:

1. Tõmba MBROLA binaarfail aadressitl http://festvox.org/mbrola/.

2. Paigalda &mbrola; kataloogi `/usr/local/mbrola`.

3. Tõmba &mbrola; saidilt vähemalt üks saksa keele fail. Paki see lahti kataloogi `/usr/local/mbrola`.

4. Tõmba txt2pho aadressilt

   http://www.ikp.uni-bonn.de/dt/forsch/phonetik/hadifix/HADIFIXforMBROLA.html

5. Paki txt2pho lahti kataloogi `/usr/local/txt2pho`.

6. Redigeeri faili `txt2phorc`, asetades sinna korrektsed andmete asukohad.

7. Kopeeri `txt2phorc` asukohta `~/.txt2phorc` või `/etc/txt2pho`. Pane tähele, et kopeerimisel tuleb loobuda failinime lõputähtedest "rc".

8. Vali kttsmgr dialoogis saksa keel (de) ja lisa Hadifix.

9. Määra dialoogis Kõneleja seadistamine kindlaks hääl ning &mbrola; ja txt2pho asukohad.

10. Klõpsa testimiseks nupule Test.

#### Epose kasutamine

Epos on vaba ja avatud tarkvaraga tšehhi ja slovaki keele mootor. See on väga väike, kuid seetõttu ka veidi kehvema häälekvaliteediga. &kmyapplication; ei võimalda juhtida mootori helitugevust.

Süntesaatori nimi: Epos TTS sünteesisüsteem

URL: http://epos.ure.cas.cz/

Debiani paigaldamiskäsk: `apt-get install epos`

Käivita kttsmgr. Klõpsa kaardil Kõnelejad nupule Lisa. Vali tšehhi või slovaki keel ning EPOS TTS sünteesisüsteem. Kui epose serveri käivitatav fail ja klient ei asu keskkonnamuutujaga `PATH` määratud asukohas, tuleb anda dialoogis Kõneleja seadistamine nende täpne asukoht. Lisavõtmete väljadel saab määrata serverile ja kliendile edastatavad lisavõtmed. Täpsemat infot leiab Konsoolis käskudega `epos -h` või `say -h`.

#### FreeTTS kasutamine

FreeTTS on vaba ja avatud tarkvara kõnemootor, mis on kirjutatud Java(tm)-keeles. See tähendab, et selle kasutamiseks peab olema paigaldatud Java virtuaalmasin. Mootoril on praegu piiratud häälte ja keelte toetus. &kmyapplication; ei võimalda juhtida ei helikõrgust, helitugevust ega kiirust.

Süntesaatori nimi: FreeTTS

URL: http://sourceforge.net/projects/freetts/

Debiani paigaldamiskäsk: puudub

#### Käsuplugina kasutamine

Käsuplugin võimaldab kasutada &kmyapplication;-d iga kõnesünteesi mootoriga, mida on võimalik käivitada käsurealt ehk Konsoolist.

Süntesaatori nimi: Käsk

URL: puudub

Debiani paigaldamiskäsk: puudub

Ideaaljuhul tuleks kasutada käske, mis sünteesivad ajutist audio/wav-faili, mitte aga saata kõnet otse audioseadmele.

Kui kõnesünteesi mootor nõuab tekstikodeeringut, mis erineb sinu töölaua kodeeringust, tuleb teksti edastamisel mootorile kasutada parameetrit `%f`. &kmyapplication; kodeerib teksti seda ajutisse faili kirjutades sinu määratud kodeeringusse. Kui edastad teksti käsureal parameetriga `%t`, kodeeritakse see sinu töölauale määratud lokaadiga. Selle probleemi lahendamiseks võib kasutada ka valikut Andmed saadetakse standardsisendina, kui mootor ikka tunnustab sisendina standardsisendit (stdin). Toome siin näiteks käsu, millega saadetakse poolakeelne tekst Festivalile kodeeringuga ISO 8859-2 ning eemaldatakse kõneks sobimatud kirjavahemärgid.

`cat %f | tr '(){}[]"' ' ' | festival --tts --language polish`

&documentation.index;