# &ktts; käsiraamat

## Sissejuhatus

&ktts; 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 &konqueror;is.

- 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 &arts;i, ALSA, GStreameri (versioon 0.8.7 või uuem) või aKode vahendusel.

- Seadistatavad filtrid valesti kõneldud sõnade asendamiseks, kõnesüntesaatori valimiseks ja XHMTL/&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.

&ktts; 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.

`libtdehtmlkttsdplugin`

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

`tdetexteditor_kttsd`

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

### Toetus

Lisaks &kde; Bugzilla andmebaasile (http://bugs.trinitydesktop.org/) tegeleb &ktts; 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).

## &ktts; kasutamine

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

### `kttsmgr` käivitamine

&ktts; süsteemi käivitamiseks anna Konsoolis järgmine käsk

`kttsmgr`

või klõpsa kttsmgr 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 configure-plugin. Kui oled aga määranud vähemalt ühe kõneleja, ilmub nähtavale kaart Üldine. Vaata general.

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

Enamik teksti kõneks muutmise (TTS) süntesaatoreid pakub välja mitmeid keeli ja hääli ning isegi mitut kõneleja sugu, helitugevust ja kõnekiirust. Võimalik on kasutada ka mitut süntesaatorit. Iga keele, süntesaatori, hääle, soo, helitugevuse ja kõnekiiruse kombinatsiooni nimetatakse kõnelejaks. Enne seda, kui saad käivitada &ktts; ja hakata teksti kõnelema, pead seadistama vähemalt ühe kõneleja.

Ühe ja sama süntesaatori mitut kõnelejat võib võrrelda ühe füüsilise printeri mitme tööjärjekorraga.

Kui rakendused saadavad teksti &ktts;-le, võivad nad määrata ka eelistatud kõneleja atribuudid. Nii võib rakendus soovida näiteks kõnelejaks ingliskeelset naishäält. Kui sul on seadistatud kõneleja, mis kasutab nii inglise keelt kui naishäält, kasutatakse seda, kui mitte, siin valitakse automaatselt kõige sobivam kõneleja. Täpsemalt räägib sellest, kuidas &ktts; kõneleja valib, filters.

Klõpsuga kirjele Kõnelejad `kttsmgr` dialoogis ilmub nähtavale kaart Kõnelejad. Sama dialoog ilmub ka siis, kui käivitad `kttsmgr`, ilma et oleksid seadistanud veel ühtegi kõnelejat.

&kde; teksti kõneks muutmise haldur (kõnelejate kaart). &kde; teksti kõneks muutmise haldur (kõnelejate kaart)

- Klõpsa uue kõneleja 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. Täpsemalt vaata allpool.

- 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 &ktts; 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.

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.

- Vali Festivalile saadetava teksti kodeering. Häälte korral, mida &ktts; tunneb, valitakse see automaatselt. Üldiselt kasutavad lääneriikide keeled kodeeringut ISO-8859-1, Ida-Euroopa keeled, näiteks tšehhi ja slovaki keel, aga kodeeringut ISO-8859-2. Eesti keele puhul peaks kodeering olema UTF-8.

- 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 &ktts; süsteemis.

Kui test õnnestus, on &ktts; 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 &ktts;-i 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 &ktts; 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 märgitud, ei ole sa veel määranud ühtegi kõnelejat (või oled unustanud klõpsata nupule Rakenda). Vaata configure-plugin.

- 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 &ktts; 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 &juhtimiskeskus;es.

- 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.

- Selle kasti märkimisel ilmub juhul, kui `kttsmgr` veel ei tööta, see iga kord süsteemsesse salve, kui KTTSD asub kõnelema. See annab sulle võimaluse kõnelemine peatada või seda hallata.

- Selle kasti märkimisel kaob juhul, kui `kttsmgr` ilmub kõnelemisel alati automaatselt süsteemsesse salve, ikoon sealt samuti automaatselt pärast kõnelemise lõpetamist.

- 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)

- Siin on kirjas kõik parajasti järjekorras olevad tekstitööd. Ühtlasi on näha töö järjekorda seadnud rakendus, töö kehtiv olek, lausete arv töös ja aktiivse lause järjekorranumber. Kõneleja ID vastab kaardi Kõnelejad veerule ID.

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

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

- Selle rea 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. Vaata selecttalker.

- Siin on näha parajasti kõneldav lause.

- 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.

- Eraldajat hiirega lohistades saab muuta tööde nimekirja ja paneeli Praegune lause suurust.

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.

Kui sul ei ole paigaldatud &arts;i audioalamsüsteemi, vaid ALSA, GStreamer või aKode, klõpsa kaardile Audio. Vaata audio.

Sellel kaardil saab näha ja juhtida ainult tekstitöid. Ekraanilugeja väljundit, hoiatusi ja teateid siin ei näidata. Rohkem infot &ktts; sõnumite tüüpide kohta annab filters.

### 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 mõni komponent ei ole kasutatav, tähendab see, et &ktts; on kompileeritud ilma vastava audioplugina toetuseta või ei suuda &ktts; laadida vajalikke teeke.

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

- Siin saab reguleerida kõnelemise 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 &ktts; 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 &ktts; süsteemis.

&ktts; 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).

ALSA seadmete nimekirjas on ära toodud kõik ALSA PCM seadmed ja pluginad, mis on süsteemis seadistatud. Paljud valikud arvatavasti ei toimi, mistõttu sul tuleb katsetada, milline seade korralikult töötab. Kui sa ei ole kindel, vali vaikimisi.

### 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. &ktts; 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 segada 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 &ktts; kõneleb varasemat ekraanilugeja väljundit, peatatakse ja kustutatakse varasem kõne.

Kui tekstitööd katkestab teade, hoiatus või ekraanilugeja väljund, lisab &ktts; 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

&kde; veebilehitsejat &konqueror; kasutades võib lasta kõnelda näidatavaid veebilehekülgi. Selleks kontrolli esmalt, et &ktts; 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 &ktts; 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. &ktts; 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. &ktts; 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ärguanded menüüs Seadistused. Kuidas ja mida seadistada saab, sõltub muidugi ennekõike vastavast rakendusest endast.

Kui soovid, et &ktts; kõneleks KNotify tekstimärguandeid, käivita `kttsmgr` ja klõpsa sakile Märguanded. Ilmub kaart Märguanded.

&kde; teksti kõneks muutmise haldur (kaart Märguanded). &kde; teksti kõneks muutmise haldur (kaart Märguanded)

- Selle kasti märkimisel saab lubada &kde; märguannete kõnelemise. Kui see on märkimata, ei saa dialoogis ka midagi muud seadistada ning &ktts; ei kõnele märguandeid.

- Selle märkimisel ei kõnele &ktts; heliga sündmusi, mida rakendused saadavad.

- Nende nuppudega saab allolevasse nimekirja rakenduse sündmusi lisada või neid sealt kustutada. Klõpsuga nupule Lisa ilmub dialoog, kus saad valida rakenduse ja sündmuse, mida nimekirja lisada.

- See sündmus kõneleb teadet, mida &konversation; saadab, kui keegi mainib sinu hüüdnime oma sõnumis.

- Kõigi muude &konversation;i sündmuste korral ei võta &ktts; midagi ette.

- Kõigi sündmuste korral, mida nimekirjas ei leidu, ei võta &ktts; midagi ette.

- Selle kastiga saab määrata, mida &ktts; sündmuse saabumisel ette võtab. Valikud on järgmised:

  Sündmuse nime kõnelemine

- Kõneldakse sündmuse nimi ehk see, mida näed sündmuste nimekirjas kirjapanduna.

Märguande sõnumi kõnelemine

- Kõneldakse sõnum, mida rakendus on saatnud.

Märguannet ei kõnelda

- Sündmust ei kõnelda.

Kohandatud teksti kõnelemine

- Kõneldakse tekst, mida saad sisestada paremal asuvasse kasti.

- Kui toiminguks on Kohandatud teksti kõnelemine, sisesta siia kasti sõnum, mida soovid lasta kõnelda. Selles võib kasutada järgmisi kohatäitjaid:

  %e

- Sündmuse nimi

%a

- Sündmuse saatnud rakenduse nimi

%m

- Rakenduse saadetud sõnum

- Siia klõpsates saab sõnumit testida.

- Siin saab määrata selle kõneleja atribuudid, mida soovid märguannete kõnelemiseks kasutada. Valiku ``vaikimisi`` korral kasutatakse kõnelejat, mis seisab kaardi Kõnelejad nimekirjas esikohal. Vaata selecttalker.

Pane tähele, et sündmustel on kolm tasandit. Kui konkreetsele sündmusele või rakendusele on määratud mingi toiming, võetakse see ka ette. Kui määratud on toiming konkreetse rakenduse kõigile muudele sündmustele, võetakse ette määratud toiming. Ülejäänud juhtudel võetakse ette toiming, mis on määratud kõigile muudele sündmustele valikuga Vaikimisi (kõik muud sündmused).

Sündmust kõik märguanded rakendusele Vaikimisi (kõik muud sündmused) ei saa nimekirjast kustutada. Kõigi muude sündmuste vaikeväärtuseks võib määrata kõneldavate märguannete tüübi järgmiselt:

puudub

- Midagi ei kõnelda.

märguannete dialoogid

- Kõneldakse märguanded, mis näitavad ekraanil dialoogi, mis sul tuleb sulgeda.

passiivsed hüpikaknad

- Kõneldakse märguanded, mis näitavad ekraanil dialoogi, mis mõne hetke pärast automaatselt kaob.

märguannete dialoogid ja passiivsed hüpikaknad

- Kõneldakse nii passiivseid kui mittepassiivseid ekraanil näidatavaid märguandeid.

kõik märguanded

- Kõneldakse kõik märguanded sõltumata sellest, kas neid ekraanil näidatakse või mitte.

Stringiasendaja filtrid pakuvad hea võimaluse puhastada rakenduste saadetud sõnumid, kui &ktts; neid valesti hääldab või vigaselt esitab. Selle hea näide on fail `kmail.xml`, mida &ktts; automaatselt pakub. See eemaldab &kmail;i märguannetest sildid `br` ja `b` ning fraasi `/local/inbox/`, sest nende väljarääkimine tekitaks mis tahes keeles paraja segaduse. Vaata stringreplacer.

Nupule Salvesta klõpsates saab märguannetega seotud seadistused failina salvestada. Nupule Laadi klõpsates saab laadida faili salvestatud seadistused. Laaditud sündmused liidetakse nimekirjas leiduvate sündmustega. Kui soovid alustada tühja sündmuste nimekirjaga, klõpsa nupule Puhasta. See eemaldab kõik sündmused, välja arvatud kõik märguanded.

Seadistuste salvestamiseks klõpsa kindlasti nupule Rakenda või OK.

### 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 &ktts; ü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>

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

### Filtrid

Filtrid kujutavad endast &ktts; võimsat lisaomadust. &ktts; 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.

#### &ktts; teadete tüübid

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

- Ekraanilugeja väljund

- Hoiatused

- Teated

- Tekstitööd

Tüübi määrab rakendus, mis saadab teksti &ktts;-ile.

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. Teated on ka &kde; märguanded (vaata knotify).

Kõik ülejäänu on tavaline tekstitöö. Kõik tööd, mida käivitad kaardil Tööd, on tekstitööd. Tekstitöid kasutab näiteks rakendus KSayit. Tekstitööd on sageli pikemad ega ole eluliselt tähtsad.

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

#### Filtrite tüübid

Filtrite juures tasuks kõigepealt tähele panna, et neid ei rakendata kunagi ekraanilugeja väljundi korral. Neid saab rakendada hoiatustele, teadetele ja tekstitöödele, samuti &kde; märguannetele.

Filtreid on kaht tüüpi: tavalised filtrid ja lausepiiri tuvastamise (SBD) filtrid. SBD-filtrid jagavad teksti üksiklauseteks. See võimaldab &ktts;-il 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. &ktts; kasutab eelnevalt määratud stringasendusfiltreid lühendite, kiirsuhtluse emotikonide (näiteks ":-)") kõnelemiseks või &konversation;i ja &kmail;i märguannete vorminduse muutmiseks mõistetavamaks.

&XML;-i transformeerijad kasutavad &XML;-keele stiiliteisenduste (XSLT) faili ühes vormingus &XML;-i teisendamiseks teise vormingusse. &ktts; pakub välja mitu XSLT-faili &XHTML;-i teisendamiseks SSML-iks.

Kõneleja valijad võimaldavad suunata töid kõnelejale vastavalt teksti sisule või rakendusele, mis töö &ktts;-ile saadab. Kui oled näiteks määratud kaardil Kõnelejad naishäälega kõneleja, võid suunata KSayIt saadetud teksti just sellele kõnelejale. Vaata configure-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öö, teate, hoiatuse või &kde; märguande saatmisel &ktts;-ile 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, hoiatused ja teated SBD-filtreid ei läbi). Erinevalt tavalistest filtritest peatab esimene SBD-filter, mis teksti muudab, selle edasise töötlemise.

#### Filtrite seadistamine

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. 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.

- 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. &ktts; 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 algajatel 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.

#### Stringiasendusfiltrite 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. Nimekiri läbitakse vastavalt kirjete järjekorrale ülalt alla.

- 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.

- 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 keelele. 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 ``konversation,kmail``.

  Töötavate programmide rakenduse ID saab leida programmiga `&kdcop;`. &DCOP;-numbrid tuleb küll sel juhul välja jätta. 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 `tdeutils`.

&ktts; 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 &ktts; meeskonnale, kes võib selle järgmise versiooniga juba kaasa panna.

#### &XML;-i transformeerimise filtrite seadistamine

&XML;-teisenduse filter kasutab XSLT-faile &XML;-i teisendamiseks ühest vormingust 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. Paigaldatud peab olema utiliit `xsltproc`.

&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 või stringiga algav `<!DOCTYPE` spetsifikatsioon. See eristab üht &XML;-i vormi teisest. Näiteks kui DOCTYPE on ``html``, siis vastab sellele `<!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 ``konversation,kmail``.

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

&XML;-teisenduse filtrit rakendatakse ainult juhul, kui juurelemen või DOCTYPE on määratud ning kõik kastis Filtri rakendamise tingimused esinevad mittetühjad tingimused on täidetud. Kui kõik kastid on tühjad, rakendatakse seda kogu tekstile. Siiski tuleks täita vähemalt üks kast, sest paljud tekstitööd pole &XML;-vormingus.

#### 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 `kmail`, kõneldakse alati naishäälega. Vaata configure-plugin.

Enne seda, kui &ktts; 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 &ktts;-ile 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 ``konversation,kmail``.

  Töötavate programmide rakenduse ID saab leida programmiga `&kdcop;`. &DCOP;-numbrid tuleb küll sel juhul välja jätta. 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. Paremal asuvale nupule klõpsates saab avada *dialoogi Kõneleja valik. Vaata selecttalker.

- Nende nuppudega saab salvestada kõneleja valimise seadistused, laadida olemasolevad seadistused failist või puhastada kõik seadistused.

Kõneleja valimise filtrit rakendatakse ainult juhul, kui kõik kastis Filtri rakendamise tingimused esinevad mittetühjad tingimused on täidetud. Täita tuleb vähemalt üks kast.

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 &ktts; valib. Klõpsa nupule Muuda kõnelejat, määra teatud omadused ja saada taas mingi tekst 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 &ktts;-il 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 laused ja samal ajal eemaldab kirjavahemärgid. Selleks lisa SBD-filter ning kasuta nuppu Laadi &ktts;-iga 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), hoiatuste, teadete ega ekraanilugeja väljundi korral.

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

### Kõnelejate valimine

Kaardil Kõnelejad võib seadistada suvalise arvu kõnelejaid. Vaata configure-plugin. Kui rakendus saadab teksti &ktts;-ule, võib see määrata atribuudid soovitud kõneleja jaoks. &ktts; valib rakenduse soovile kõige paremini vastava kõneleja. Näiteks võib rakendus soovida, et teksti kõneleks inglise naishääl. Kui oled seadistanud kõneleja, mis kasutab inglise keelt ja naishäält, valitakse see kõneleja. Kui aga oled seadistanud ainult inglise mehehääled, valitakse üks neist. Kui rakendus atribuute ei määra, kasutatakse kaardi Kõnelejad nimekirja kõige esimest ehk vaikimisi kõnelejat.

Rakendused võivad soovitud kõneleja atribuute määrates teatud atribuute teistele "eelistada". Näiteks võib rakendus soovida, et teksti kõneleks vali naishääl ja sealjuures on valju hääle atribuut "eelistatud" naishääle ees. Kui sul on seadistatud vaikne naishääl ja vali mehehääl, valib &ktts; kõnelemiseks valju mehehääle. Kuna keel on teksti mõistetavaksmuutmisel alati kriitilise tähtsusega parameeter, siis see on alati "eelistatud" atribuut.

Dialoogis Kõneleja valik saab tühistada rakenduse kõneleja seadistused. Seda dialoogi näidatakse,

- kui klõpsad kaardil Tööd nupule Muuda kõnelejat

- kui klõpsad dialoogis Filtri seadistamine kõneleja valimise filtri korral nupule Kõneleja

- kui klõpsad kaardil Märguanded nupule Kõneleja.

Kõneleja valik Kõneleja valik

Dialoogis saab kolmel viisil määrata kõneleja vajalikud atribuudid:

- Kasutades vaikimisi kõnelejat (kaardi Kõnelejad nimekirja esimene kirje). See tähendab, et kõneleja atribuute sisuliselt ei määrata.

- Kasutades kõige paremini sobivat kõnelejat, millel on vähemalt üks määratud atribuut.

- Kasutades kõige paremini sobivat kõnelejat, millel on kõik seadistatud kõneleja atribuudid. Kui sa kõneleja seadistusi ei kustuta ega muuda, valib &ktts; määratud kõneleja. Kui sa kõneleja seadistused kustutad või neid muudad, valib &ktts; kõneleja algupäraste atribuutidega kõige paremini sobiva kõneleja.

- Viisi soovitud kõneleja valimiseks saab määrata üht raadionuppu klõpsates.

- Siin saab valida soovitud kõneleja atribuudid. Kui atribuut sulle huvi ei paku, jäta see tühjaks.

- Selle kasti märkimisel "eelistatakse" antud atribuuti teistele. Märkida võib ka mitu kasti.

- Kuna keel on kõneldava teksti mõistmisel kriitilise tähtsusega, on see alati eelistatud atribuut. Selle kasutamine on siiski harv juhus ja ainus mõeldav olukord, kus seda on mõtet määrata, on see, kui sa tead, et rakendus saadab teksti keeles, mis erineb sinu töölaual kasutatavast keelest.

- See on kõnelejate nimekiri, mida sa oled parajasti &ktts;-is seadistanud. Üht neist valides määrad sisuliselt kõik selle kõneleja atribuudid. Kui see kõneleja on teksti saabumisel endiselt olemas, leitakse täpne sobivus ning kõnelemiseks valitakse just see kõneleja. Kui aga kustutad selle kõneleja hiljem või muudad selle seadistusi, ei pruugita seda enam valida, vaid kasutatakse kõnelejat, mille atribuudid sobivad kõige paremini kokku antud kõneleja algupäraste atribuutidega.

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 olemasolevat keeleseadistust. Kui rakendus, mis saadab teksti &ktts;-ile, ei määra keelt, omistab &ktts; sellele kaardil Kõnelejad kõige esimesena seisva kõneleja keele. Teisisõnu eeldatakse, et nimekirjas esimesena seisva kõneleja kõneleb sama keelt, mida kasutad oma töölaual.

Kõigi atribuutide puhastamiseks sektsioonis Sobivaima kõneleja kasutamine vali kõigepealt raadionupp Vaikimisi kõneleja kasutamine, seejärel aga raadionupp Sobivaima kõneleja kasutamine.

## Käskude seletused

Veel kirjutamata

## &ktts; arendajatele

&ktts;-il on kaks programmiliidest (API):

- &kde; teksti 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 &ktts; 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).

### &ktts; 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`` &etc; See käsk ei kõnele veel teksti, vaid seab 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;

`kttsmgr` tabab kohe käivitamisel järel krahh. Ma kompileerisin selle silumistoetusega, kuid ei saa isegi mitte tagasijälitust.

GStreamerit tabas krahh ja see lõpetas ka &ktts; töö. Arvatavasti tuleb GStreamer "registreerida". GStreamer 0.8x korral on vastav käsk `gst-register-0.8`. Kui see ei lahenda probleemi, on võib-olla paigaldatud sobimatu GStreameri versioon. Sel juhul tasuks proovida GStreamer eemaldada või seda uuendada.

ALSA audioväljund ei tööta, kui ma kuulan samal ajal muusikat mõne muu rakendusega. Kui ma peatab tekstitöö, &ktts; hangub. Konsoolis näeb väljundina teadet "unable to open PCM".

Siin on tegemist ALSA seadmete konkureerimise probleemiga, mis takistab korraga avamast rohkem kui üht PCM seadet. Võimalikke lahendusi (dmix) leiab ALSA veebileheküljelt www.alsa-project.org.

Mul on vaja uuesti alustada. Kuidas &ktts; 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 `$TDEHOME/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 &URL;).

Ü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 &ktts;, 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 &ktts; arendajatele. Seni aga võib olla võimalik oma keel tööle saada käsureapluginaga. Vaata using-with-command.

&ktts; kõneleb liiga aeglaselt. Kuidas kõnet kiirendada?

Kaardil Audio on valik Kiirus. Et see korralikult toimiks, peab utiliit `sox` olema paigaldatud ja asuma keskkonnamuutujaga PATH määratud asukohas, Mõned sünteesipluginad, näiteks Festival Interactive, pakuvad samuti kõneleja seadistamise dialoogis valikut Kiirus. Sõltuvalt kasutatavast häälest võib olla võimalik seda muuta või mitte.

Hmm, mõne asja puhul ju see töötab, aga veebilehekülgesid kõneldakse ikkagi liiga aeglaselt.

&ktts; ignoreerib kiiruseseadistusi &HTML;-i kõnelemisel (selle põhjuseks on asjaolu, et &HTML; teisendatakse SSML-iks, millel on omaenda kiirusesildid). Sellisel juhul lülita välja &XML;-teisenduse filter (vaata filters) või kui oled eriti julge, redigeeri &HTML;->SSML teisenduse filtris .xsl-faili ja suurenda vaikimisi kõnekiirust.

Kuidagi ei ole võimalik panna veebilehekülgi kõnelema naishäälega. Olen seadistanud Festivali naishäälega kõneleja, kuid &ktts; kõneleb veebilehekülgi alati meeshäälega.

Festival 1.95 beta korral ei paistnud silt SABLE GENDER töötavat. Et Festival vigu ei tekitaks, eemaldab SSML->SABLE .xsl-fail soosildi. Sama kehtib ka häälesiltide kohta.

Olen seadistanud &HTML;-i &XML;-teisenduse filtri, aga veebilehekülgede kõnelemisel ei kasutata üldse Festivali pluginat.

Festival 1.95 beta vea tõttu tuleb paigaldada `rab_diphone` (briti mehehääl), et SABLE üldse töötaks - isegi juhul, kui sa ei kasuta seda häält veebilehekülgede kõnelemiseks. Samuti kontrolli, et utiliit `xsltproc` oleks paigaldatud ja asuks keskkonnamuutujaga PATH määratud asukohas.

Teatud tähed või kirjavahemärgid paistavad süntesaatoris vigu tekitavat, sunnivad seda terveid lauseid vahele jätma või muidu jama kõnelema. Mida ette võtta.

Kõigepealt kontrolli, et kõneleja seadistustedialoogis oleks valik Kodeering sinu keele jaoks korrektselt määratud. Kui probleeme tekitavad teatud sõnad või tähed, võib abi olla stringiasendusfiltrist. Kui süntesaatorit ajavad segadusse teatud kirjavahemärgid, võib abiks olla lausepiiri tuvastamise filtri seadistamine. Vaata filters.

Lisasin uue stringiasendusfiltri ja nüüd ei luba &ktts; mul enam lausekaupa edasi või tagasi liikuda. Kaardil Tööd antakse teada, et igas töös on ainult üks lause. Mida ma valesti olen teinud?

Filtreerida ei tohiks kirjavahemärke (punkt, küsimärk, hüüumärk, koolon ja semikoolon). Nende korral tuleb kasutada lausepiiri tuvastamise filtrit.

## Autorid ja litsents

&ktts;

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;

&ktts; kasutatavatel kõnesünteesi mootoritel on omaette litsentsid. Vaata neid mootorite dokumentatsioonist või veebisaidilt. Ka mõnel häälel on omaette litsents.

## Paigaldamine

### &ktts; hankimine

&install.intro.documentation;

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

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

Kui sul on ligipääs &kde; lähtekoodi hoidlale, võid hankida &ktts;-i moodulit `tdeaccessibility` välja võttes. &ktts; on kataloogis `kttsd`. Samuti võib tõmmata kogu tdeaccessibility igaöise pakitud versiooni aadressilt ftp://ftp.kde.org/pub/kde/.

### 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, itaalia, Kanada prantsuse, suahiili, suulu ja ibibio
  Festival Lite (flite) | Inglise
  Hadifix (&mbrola; ja txt2pho) | Saksa, ungari
  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. Samuti võid infot, mis ei ole käsiraamatusse veel jõudnud, leida &ktts; veebileheküljelt.

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

  Iga mootori kohta annab konkreetseid juhiseid configuration.

- Vähemalt üks järgmistest audioalamsüsteemidest:

  - &kde; helisüsteem &arts;. &arts; paigaldatakse tavaliselt koos &kde;-ga.

  - ALSA (Advanced &Linux; Sound Architecture). ALSA paigaldatakse koos enamiku &Linux;i süsteemidega (www.alsa-project.org).

  - GStreamer 0.8.7 või uuem. Märkus: registreeri kindlasti GStreameri pluginad käsuga `gst-register`, enne kui hakkad GStreamerit &ktts;-is kasutama. ( http://gstreamer.freedesktop.org)

  - aKode teek. aKode on dekodeerimisteek, mis kuulub &kde; koosseisu.

  &kde; kavatseb versioonis 4 loobuda &arts;i kasutamisest.

  Mõned kasutajad on täheldanud ALSA puhul seadmete konkureerimist. Kui see on probleemiks ka sinu süsteemis, ei saa sa näiteks korraga kuulata muusikat ja lasta &ktts;-il kõnelda, samuti võib viimane hanguda, kui teed ühes tekstitöös pausi ja alustad teist. Võimalikke lahendusi (dmix) pakub ALSA veebilehekülg.

  2005. aasta juulikuu seisuga ei toetanud aKode veel pausivõimalust. Kui teed &ktts;-is tekstitöö esitamises pausi, lõpetab see kõnelemise alles pärast käsilolevat lauset.

Lisakomponendid:

- Audioutiliiti `sox` läheb vaja üldise kõnekiiruse 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`.

### Kompileerimine ja paigaldamine

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

Kui oled tõmmanud &ktts;-u 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

Käsuga `configure` saab kasutada järgmisi võtmeid:

Vaikimisi võti | Kirjeldus | Alternatiiv
--with-arts | Ehitab artsi audioplugina. | --without-arts
--with-alsa=check | Ehitab ALSA audioplugina. | --with-alsa=no
--with-gstreamer=no | Ei ehita GStreameri audiopluginat. | --with-gstreamer=check
--with-akode=no | Ei ehita aKode audiopluginat. | --with-akode=check

&kde; 4 ilmudes &arts;i plugin arvatavasti eemaldatakse või vähemalt ei ehitata seda enam vaikimisi.

Vaikimisi ehitatakse kõik järgnevad kõnesünteesipluginad. Mõningad neist on käitusajal sõltuvad mittevabast tarkvarast ('mittevaba' Debiani reeglite kohaselt). Veerus "Seadistamisvõti keelamiseks" näidatakse konfigureerimiskäsku, mille kasutamisel pluginat ei ehitata:

Sünt | Litsents | Seadistamisvõti keelamiseks
Festival | vaba | --disable-kttsd-festivalint
Festival Lite | vaba | --disable-kttsd-flite
Epos | vaba | --disable-kttsd-epos
Käsk | vaba | --disable-kttsd-command
Hadifix | mittevaba | --disable-kttsd-hadifix
FreeTTS | mittevaba | --disable-kttsd-freetts

Vaikimisi paigaldavad toodud käsud &ktts;-i kataloogi `/opt/kde3`. Kui see kataloog ei asu keskkonnamuutujaga $`TDEDIRS` 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 &ktts; järgmiste käskudega:

    su
    make install

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

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

### Seadistamine

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

Mõnel juhul võib olla vajalik lubada audioseadmesse 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 &ktts;-is.

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. Kui soovid lasta kõnelda veebilehekülgi, tuleb paigaldada `rab_diphone` (briti mehehääl).

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 8-bitine kirillitsakodeering, näiteks `KOI8-R`.

Itaalia hääli Festival 1.95 beta jaoks leiab aadressilt

http://www.csrf.pd.cnr.it/TTS/It-FESTIVAL-download.htm.

Kui saad lahtipakkimisel CRC-vigu, proovi uuesti alla laadida.

Suahiili, suulu ja ibibio hääli Festival 1.95 beta jaoks leiab aadressilt

http://www.llsti.org/.

Paraku ei tööta &ktts;-is hindi hääl, mida see lehekülg samuti pakub.

Kommertshääli, sealhulgas Kanada prantsuse häält, saab osta firma Cepstral, LLC käest. Selle leiab aadressil

http://www.cepstral.com/

Nende toetuslehekülje KKK pakub infot häälte kasutamise kohta Festivaliga.

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

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

Vene hääle kasutamisel peab kodeering kindlasti olema 8-bitine kirillitsakodeering, 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 tekstist 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. &ktts; 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 aadressilt 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.

Ungari keelele kohandatud &mbrola; ja txt2pho on saadavad saidilt

http://tkltrans.sourceforge.net/.

#### 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. &ktts; 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; keeles. See tähendab, et selle kasutamiseks peab olema paigaldatud &Java; virtuaalmasin. Mootoril on praegu piiratud häälte ja keelte toetus. &ktts; 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 &ktts;-i 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`. &ktts; 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;