Mikropuhe Linux-versio 4.2 ohjeet 8.1.2003 (HTML-versio cd-romilla sislt tydelliset ohjeet)


TIEDOSTOT

mplinux
Itse ohjelma. Kynnistetn joko automaattisesti koneen kynnistyess tai komentorivilt kskyll:
mplinux &

mplinux.ini
Jrjestelmn ja tulkintaan liittyvt asetukset.

mplinux.tfg
Tulkinnan perusasetukset. Tee aina varmuuskopio tst tiedostosta ennen kuin muokkaat sit.

normaali.tul
Perustulkintatiedostot. Windows-version tulkintalistat kyvt Linux-versiolle sellaisenaan.

*.pu5
Puhenitiedostot. Windows-version tiedostot kyvt sellaisenaan.


ASENNUS

Mikropuhe asennetaan kovalevylle cd-levylt, jonka jlkeen cd kannattaa silytt varmuuskopiona. Asennus ky seuraavasti: 

1. Mounttaa cd-levy. 
2. Siirry hakemistoon, jonka alle seuraava tar-ksky luo hakemiston mp5linux. 
3. Anna ksky tar -xzvf /mnt/cdrom/LINUX/mp5linux.tar.gz 
4. Kopioi cd-romin LINUX-hakemistosta mys lisenssitiedostot MPLINUX.LIS ja LIBMPLINUX.LIS kohdehakemistoon kskyll cp /mnt/cdrom/LINUX/*.LIS mp5linux.


OHJELMAN PARAMETRIT

Kynnistysparametrilla -? kerrotaan mahdolliset parametrit.

mplinux ilman parametreja kynnist putken kuuntelijan. 

Yleiset parametrit:
-ini nimi
Kyt annettua ini-tiedostoa ohjelman hakemiston mplinux.ini-tiedoston sijaan. Tm on annettava ensimmisen parametrina.

Tiedostoon puhuminen:
mplinux [optiot] -out puhu.wav puhu.txt

Optiot:
-samplef taajuus
Mritt nytteenottotaajuuden Herzein vlill 8000-88200
Jos ei anneta, kytetn synteesin luontaista taajuutta (22050 tai 44100)

-bits bitit
Mritt nytekoon 8 tai 16 bitti. Oletus on 16 bitti

-stereo 0/1
Tallentaa stereotiedoston (1) monotiedoston (0) sijaan. Oletuksena mono.

-wavheader 0/1
Kirjoittaa WAV-tiedoston headerin (1 ja oletus) tai ilman headeria (0).
Jos tallennus ohjataan stdoutiin, ei wav-headeriin kirjoiteta pituustietoja

-sapi 0/1
Mritt onko annettu tekstitiedosto sapi5-tagitetty (1) vai puhdasta
teksti (0 ja oletus)


PUHUMINEN

Mikropuhe luo mplinux.ini -tiedostossa mritetyn nimetyn putken (named pipe). Thn putkeen kirjoitettu teksti viedn syntetisaattorille. Jos teksti alkaa merkill <, oletetaan tekstin olevan SAPI5-tagitetty. Muussa tapauksissa teksti pidetn puhtaana askii-tekstin. Molemmissa tapauksissa tekstin sisll voi olla mys Mikropuheen omia ohjauskoodeja.

Tekstin sisll olevat ohjausparametrit jvt voimaan, paitsi SAPI5-tageilla voi olla voimassaoloaika. Mikli puhe keskeytetn, ei muutettuja puhearvoja talleteta, vaan syntetisaattori palautuu tilaan, jossa se oli ennen puhumista.

Kaikki tekstin sisll olevat LF-merkit (ascii 10) muunnetaan vlilynneiksi.

Tekstin tagitystyyppi tutkitaan vasta komentojen jlkeen: Jos komennon jlkeen ensimminen merkki on '<', kytetn SAPI5/VoiceXML -tagityst.


MIKROPUHEEN KOMENNOT

Komennot annetaan kuten puhuttava teksti. Puhuttavasta tekstist ne erotetaan sisltns perusteella. Komennot on annettava ennen puhuttavaa teksti. Kytss ovat komennot:

<mpcommand stop>
Pysytt syntetisaattorin vlittmsti.

<mpcommand queue>
Ei keskeyt tll hetkell puhuttavaa teksti, vaan laittaa tekstin jonon pern. Oletuksena keskeytetn.

<mpcommand speaktofile name="n" signal="n" samplef="f" bits="b" stereo="s" wavheader="x">
Puhuu tekstin annettuun tiedostoon wav-muodossa. Tiedostoa puhutaan taustaprosessina, eli Mikropuhe palaa heti kuuntelemaan putkea kun prosessi on saatu kyntiin. Tiedostoon puhuminen ei vaikuta mitenkn nikortin kautta puhumiseen. Puheasetuksina kytetn kutsumishetkell olevia asetuksia. Puheen valmistumisesta lhetetn haluttaessa signaali. Sticky-bitti ei ksitell mitenkn. Kynniss olevaa puhetta ei keskeytet. Parametrit ovat:

name
Pakollinen parametri: Mihin tiedostoon puhutaan. Anna aina koko polun nimi.

signal
Jos on annettu, lhett Mikropuhe signaalin ohjelmalle, kun puhuminen on valmistunut (joko onnistunut tai eponnistunut). Jos tiedostoa ei lydy signaalin tullessa, on tiedostoon puhuminen eponnistunut. Numeroksi annetaan prosessin id (getpid()) ja signaalin numero pilkulla erotettuna kymmenjrjestelmss.

samplef
Nytteenottotaajuus. Oletuksena kytetn tmnhetkisen puheneen taajuutta (22050 tai 44100 Hz).

bits
Monikobittist signaalia talletetaan 8/16.  Oletuksena talletetaan 16-bittist.

stereo
Talletetaanko stereosignaalina 1 (mplinux.ini-tiedoston asetukset eivt vaikuta thn).  Oletuksena talletetaan monoa (0).

wavheader
Kirjoitetaanko WAV-tiedostoheader 1 vai ilman headeria 0. Oletuksena kirjoitetaan

Esimerkiksi SIGUSR1 signaalin lhettv ksky:
<mpcommand speaktofile name="/tmp/testi.wav" signal="1234,10"><sapi>Heippa vaan!


MIKROPUHEEN SIGNAALIT

SIGHUP
Keskeytt puheen ja tekee reset-kskyn, ks <reset/> -tagi.

SIGINT, SIGTERM, SIGQUIT
Poistavat Mikropuheen muistista.


MIKROPUHEEN OMAT PARAMETRIT 

Esimerkeiss viiva korvattu thdell, jotteivt parametrit vaikuttaisi jos teksti luetaan Mikropuheella.


-NOP
Puheen nopeus -12..0..12. Esimerkiksi *NOP0

-KOR
Puhenen korkeus -12..0..12. Esimerkiksi *KOR0

-RAU
Puheen rauhallisuus -12..0..12. Esimerkiksi *RAU0

-SAT
Korkeuden satunnaisvaihtelu 0..100. Esimerkiksi *SAT4

-SVT
Sanavlitauko 0..24. Esimerkiksi *SVT10

-LYH
Kytetn lyhennelistoja 0/1. Vaikuttaa vain puhuttavan tekstin sisll. Esimerkiksi *LYH0

-AKU
Ankan ni 0/1. Esimerksi *AKU1

-ROB
Robotin ni 0/1. Esimerkiksi *ROB1

-NUO(,)
nen korkeus (nuotti,oktaavi). Esimerkiksi *NUO(C,2)


SAPI5/VOICEXML TAGIT

XML:n mukaisesti tekstiss ei voi kytt tiettyj merkkej, vaan ne on korvattava XML-entityill:

&	&amp;
\	&apos;
>	&gt;
<	&lt;
"	&quote;

Erikoismerkit  voidaan antaa suoraan tai XML-entityin: &#numero;. Esimerkiksi:

1&lt;2	(1<2)
&#228;	()

XML-mrityksen mukaisesti tagien kirjainkoko on merkitsev. Mikropuhe tosin hyvksyy sek ISOT ett pienet tagit.

Tageja voidaan antaa joko vaikuttamaan paikastaan eteenpin (tyhj XML-tagi) tai tietylle vlille (alku- ja lopputagit). Esimerkiksi kuvitteelliset tagit:
<huuda/>Huudan tst loppuun asti
<huuda/>Huudan tst <kuiskaa>kuiskaan vlill</kuiskaa> loppuun asti
XML-mritysten mukaan jokaiselle alkutagille pit lyty lopputagi siten ett se tsm edellisen alkutagin kanssa. Esimerkiksi:
Virheellinen teksti: <huuda>huudan <kuiskaa>kuiskaan </huuda></kuiskaa>
Pitisi olla: <huuda>huudan </huuda><kuiskaa>kuiskaan </kuiskaa>

Tuettuja tageja ovat:

<reset/>
Ajaa asetustiedostossa olevan asetus=xxx -rivin. Palauttaa synteesin kynnistyksen jlkeiseen tilaan. Lisksi poistaa valmiiksi muistiin ladatut tulkintatiedostot. Eli tulkintatiedoston muokkaamisen ja uudelleen latauksen vlill on annettava tm <reset/> -tagi.

<break time="xxx"/>
Ei lopputagia. Pit tauon, jonka pituus riippuu puhenopeudesta. Attribuutilla time="xxx" voi olla arvot:
<break time="none"/>	Ei pid taukoa, mutta katkaisee synteesin jatkuvuuden.
<break time="x-small"/>	Erittin lyhyt tauko, 1/5 lausetauosta.
<break time="small"/>	Lyhyt tauko, puolet lausetauosta.
<break time="medium"/>	Keskimittainen tauko, vastaa lausetaukoa.
<break time="large"/>	Pitk tauko, kaksi kertaa lausetauko.
<break time="x-large"/>	Erittin pitk tauko, nelinkertainen lausetaukoon.

Jokainen <break>-tagi katkaisee synteesin jatkuvuuden, eli kytnnss korostaa seuraavaa sanaa. Jos time-attribuuttia ei ole annettu tai sen arvo on tuntematon, kytetn medium-arvoa. Taukojen pituudet eivt ole tarkkkoja. Mikropuhe ei tue VoiceXML/SSML -mrityksen numeerista arvoa.

<audio src="tiedosto.wav"/>
<audio src="tiedosto.wav">Teksti joka puhutaan jos tiedostoa ei lydy</audio>
Soittaa annetun wav-muotoisen tiedoston puheen seassa. Koska eri puhenill voi olla eri nytetaajudet, l kyt muita kuin wav-tiedostoja, sill osaa Mikropuhe muuntaa lennossa niiden bittimrn, taajuuden ja kanavamrn nikanavalle ja puheneen sopivaksi. Jos tagi ei ole tyhj
(<audio src="xxx">teksti</audio>), puhutaan tiedoston soiton eponnistuessa teksti audio-tagien vliss. Jos soittaminen onnistuu, siirrytn
/audio>-lopputagin jlkeiseen tekstiin. Jos tiedoston
nimess ei ole hakemistomerkkej (/\), ladataan tiedosto Mikropuheen hakemistosta.

<beep freq="taajuus" length="millisekunnit" volume="prosentti"/>
Lis piippauksen puheen sekaan. Taajuus ilmoitetaan Herzeiss, pituus millisekunneissa ja voimakkuus suhteessa syntetisaattoriin (100%=ilman vaimennusta). Huomaa, ett tm on tyhj tagi, eli lis loppuun aina kauttaviiva. Puuttuvien parametrien kohdalla kytetn oletuksia: freq="100" length="1000" volume="100".

<emph>painotettavia sanoja</emph>
Alku- ja lopputagit. Painottaa tagien sisll olevia sanoja. Mikropuhe 4.2 painottaa vain ensimmist sanaa ja sitkin hyvin maltillisesti.

<bookmark mark="numero"/>
Ei lopputagia. Kirjanmerkki - ei kytss Linux-versiossa.

<silence msec="500"/>
Ei lopputagia. Lis annetun verran (millisekunnit) hiljaisuutta puheeseen.

<pitch absmiddle="arvo">
Lopputagilla tai ilman. Asettaa puheen korkeuden suhteessa puhenen peruskorkeuteen. Arvo vlill -10..0..10.

<pitch middle="arvo">
Lopputagilla tai ilman. Asettaa puheen korkeuden suhteessa tmnhetkiseen nen korkeuteen. Ktev jos halutaan <pitch middle="3">nostaa</pitch> korkeutta hetkeksi. Arvo vlill -10..0..10.

<rate absspeed="arvo">
Lopputagilla tai ilman. Asettaa puheen nopeuden suhteessa puhenen perusnopeuteen. Arvo vlill -10..0..10.

<rate speed="arvo">
Lopputagilla tai ilman. Asettaa puheen nopeuden suhteessa tmnhetkiseen nopeuteen. Ktev jos halutaan <rate speed="-2">laskea</pitch> nopeutta hetkeksi. Arvo vlill -10..0..10.

<spell>
Alku- ja lopputagit. Tavaa kaiken <spell>- ja </spell> -tagien vliss olevan tekstin tiedostosta mplinux.tfg lytyvn tavauslistan mukaan. Esimerkiksi:
Aakkoset ovat: <spell>abcdefg jne.</spell>

<volume level="arvo">
Lopputagilla tai ilman. Asettaa puheen voimakkuudeen prosenteissa. Arvo 100 on maksimi (oletus) ja nolla minimi. Voimakkuusasetus ei vaikuta nenvoimakkuusstimeen, vaan sen mukaan ainoastaan vaimennetaan puhesignaalia digitaalisesti ennen nikortille viemist.

<voice name="nimi">
Lopputagilla tai ilman. Vaihtaa puhenen. Nimi on jokin Mikropuheen hakemistosta lytyvist puhenist. Linux-versio pit muistissaan kahta viimeksi kytetty nt. Nin nen vaihto ei aiheuta ensimmisen latauksen jlkeen viiveit. Esimerkiksi:
<voice name="petteri">Petterin ni </voice><voice name="saga">Sagan ni </voice>
<voice name="petteri"/>Petterin ni asetettu oletukseksi.

<mikropuhe svt="arvo"/>
Ei lopputagia. Asettaa sanavlitauon kuten Mikropuheen parametri -SVT. Arvo vlill 0..24

<mikropuhe rau="arvo"/>
Ei lopputagia. Asettaa puheen rauhallisuuden kuten Mikropuheen parametri -RAU. Arvo vlill -12..0..12.

<mikropuhe ven="arvo"/>
Ei lopputagia. Asettaa puheen venytysarvon kuten Mikropuheen parametri -VEN. Arvo vlill -50..0..50.

<mikropuhe sat="arvo"/>
Ei lopputagia. Asettaa puheen rauhallisuuden kuten Mikropuheen parametri -SAT. Arvo vlill 0..100.

<mikropuhe aku="arvo"/>
Ei lopputagia. Asettaa Aku Ankka-efektin kuten Mikropuheen parametri -AKU. Arvo vlill 0..1.

<mikropuhe rob="arvo"/>
Ei lopputagia. Asettaa Robottiefektin kuten Mikropuheen parametri -ROB. Arvo vlill 0..2.

<mikropuhetul name="nimi">
Lopputagilla tai ilman. Vaihtaa tulkintatiedoston. Jos nimi on tyhj, poistetaan tulkintatiedosto kokonaan kytst. Jos nimess ei ole hakemistoa, ladataan tiedostoa ohjelman hakemistosta. Anna tiedoston nimi ilman ptett. Esimerkiksi:
<mikropuhe tul="normaali"/>
<mikropuhe tul=""/>


<mpstereo pan="arvo">
Lopputagilla tai ilman. Stereomoodin vaihto kuten mplinux.ini-tiedoston soundstereomode=x: 0=Tuplamono, 1=Vasen, 2=Oikea, 3=Tuplamono toinen kanava eri vaiheessa.


SAPI5/VOICEXML-KOODATTU ESIMERKKITEKSTI

Tss on kytetty sapi-alkutagia. Sill ei ole muuta merkityst kuin tekstin tunnistaminen sapi5-tagitetyksi:

<sapi>Hei!
<mpstereo pan="0">Puhun keskell.</mpstereo>
<mpstereo pan="1">Vasemmalta.</mpstereo>
<mpstereo pan="2">Oikealta.</mpstereo>
<mpstereo pan="3">Ja toinen kanava eri vaiheessa.</mpstereo>
Esittelen nyt tulkinnan parametreja. Oletustulkinta: A, b, c, <mikropuhetul name="">Ei tulkintaa: A, b, c, </mikropuhetul>Paluu oletukseen: a, b, c, <mikropuhetul name="sanokaik.tul"/>Sanokaik.tul: A, b, c, <reset/>reset tuli: A, b, c. Sitten uusi break-parametri <break time="small"/>lyhyt ja <break time="x-large"> pitk.
<beep freq="400" length="100" volume="100"/><beep freq="423" length="100" volume="85"/><beep freq="449" length="100" volume="70"/><beep freq="476" length="100" volume="55"/><beep freq="504" length="100" volume="40"/><beep freq="534" length="100" volume="25"/><beep freq="566" length="100" volume="10"/><beep freq="599" length="100" volume="25"/><beep freq="635" length="100" volume="40"/><beep freq="673" length="100" volume="55"/><beep freq="713" length="100" volume="75"/><beep freq="755" length="100" volume="85"/><beep freq="800" length="100" volume="100"/>
Osaan piipityksen lisksi mys soittaa wav-tiedostoja.
Tss stereoni. <audio src="esimerkki.wav">Yritin juuri soittaa esimerkki.wav</audio>

Seuraava <emph>painotus on jo kuuluva</emph>. Pidn sekunnin paussin <silence msec="1000"/> juuri sken ja lyhyen <break time="small"/> sken. Asetan <pitch absmiddle="5">korkeuden arvoon 5. </pitch> Palasin hetkeksi peruskorkeuteen, jonka <pitch middle="-4">pudotin</pitch> hetkeksi nelj pykl alaspin. Nyt esittelen nopeuteni<rate absspeed="10">tm on aivan sairaan nopeaa puhetta, 123 123 <rate absspeed="-10"> ja tm taas todella hidasta.</rate></rate> sken kytettiin siskkisi nopeustageja ja nyt puhun taas perusnopeudella. Tavaan joutessani vhn aakkosten alkua, <spell>abcdef</spell>, jonka jlkeen voisinkin olla <volume level="25">hetken varsin hiljaa.</volume> Niin ja puheni lytyy: <voice name="mikko">Mikko, </voice><voice name="petteri">Petteri, </voice><voice name="saga"> ja Saga.</voice> <mikropuhe svt="20">Nin lopuksi listn sanavlitaukoa<mikropuhe svt="0"><mikropuhe rau="99"> ja asetetaan synteesi monotoniseksi. <mikropuhe rau="0">Nille Mikropuheen omille sdille voidaan mys rakentaa lopputagit, jos tarvetta on. 

Venytyssdll voi saada miellyttvmmn puhenen. Esittelen tekijiden suosikkinen:
<voice name="riku">
<mikropuhe ven="15"/>
<mikropuhe rau="-8">
<pitch absmiddle="-3">

Tss on venytys arvossa 15, rauhallisuutta on -8, eli korkeus vaihtelee runsaasti ja peruskorkeus on arvossa -3.

</pitch>
</voice>
<mikropuhe ven="0"/>
<mikropuhe rau="0">

<voice name="saga">Kiitos kuuntelemisesta <voice name="petteri">minunkin puolestani.</voice></voice>
