diff options
Diffstat (limited to 'lib/voices/finnish/suo_fi_lj_diphone/README.lj')
-rw-r--r-- | lib/voices/finnish/suo_fi_lj_diphone/README.lj | 697 |
1 files changed, 697 insertions, 0 deletions
diff --git a/lib/voices/finnish/suo_fi_lj_diphone/README.lj b/lib/voices/finnish/suo_fi_lj_diphone/README.lj new file mode 100644 index 0000000..ac2ba01 --- /dev/null +++ b/lib/voices/finnish/suo_fi_lj_diphone/README.lj @@ -0,0 +1,697 @@ +Copyright (c) 2000-2003 Yleisen kielitieen laitos, Helsingin yliopisto, ja + Vieraiden kielten laitos, Joensuun yliopisto + +This program is distributed under Gnu Lesser General Public License (cf. the +file LICENSE in distribution). + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + +Tekijät: Nicholas Volk (nvolk@ling.helsinki.fi) + Martti Vainio + Stefan Werner (stefan.werner@joensuu.fi) + + +2004-10-22: Festival on ohjelman kirjoittamisen ja julkaisun välillä + ehtinyt versiosta 1.4.3 versioon 1.96. Pitäisi toimia + myös uusissa versiossa. En ole testannut. (NV) + +FESTIVALIN SUOMENKIELISTEN SUOPUHE-ÄÄNTEN KÄYTTÖOHJE + +MANUAL FOR FINNISH FESTIVAL VOICES (in Finnish) + +Yleisen kielitieteen laitos, Helsingin Yliopisto + +Nicholas Volk, others + + +1. JOHDANTO + +Tässä paperissa esitellään Festival-puhesynteesijärjestelmän, +<http://www.cstr.ed.ac.uk/projects/festival>, päälle +Suopuhe-projektissa rakennetut suomenkieliset äänet. +Työ tehtiin Helsingin yliopiston yleiisen kielitieteen laitoksella +ja Joensuun yliopiston vieraiden kielten laitoksella. +Tavallaan tämä paperi siis laajentaa Festivalin oman dokumentaation +(<http://www.cstr.ed.ac.uk/projects/festival/manual>) kattamaan +myös suomenkieliset äänet. Kun nyt kirjoitan tätä omalla ajallani, +niin mitään kauhean hääviä dokumentaatiota on turha odottaa + +Suomenkielisen äänen kehitys aloitettin kevät-kesällä 2000. +Tällöin Festivalista oli käytössä versio 1.4.1. Nyt +kevättalvella 2003 on Festivalista olemassa versio 1.4.3. +Suomenkielinen Festival-laajennus tukee ainakin tätä uusinta +versiota, uskoaksemme myös aikaisempia versioita ainakin +versioon 1.4.1 asti. Suomenkielistä ääntä tehdessä käytettiin omien +kehitystyökalujen lisäksi uusien Festival-äänien tekemiseen tarkoitettua' +Festvox-työkalupakettia +<http://www.festvox.org>, käytännössä paketin versiota 1.2 - 1.6. + +Suomenkielisestä laajennuksesta julkaistiin ensimmäinen "vakaa" +versio 5.2.2003 ja siihen ensimmäinen bugikorjaus heti seuraavana päivänä. +Ohjelman lopullista lisenssiä ei ole vielä tätä kirjoitettaessa päätetty, +mutta lisenssin pitäisi ratketa vielä tämän kuun aikana. Joku +open source -lisenssi sen tulisi kuitenkin olla. + +Suomenkieliset äänitietokannat ja ohjelmat löytyvät +Helsingin yliopiston yleisen kielitieteen laitoksen sivulta +(<http://www.ling.helsinki.fi/suopuhe/>). +Toistaiseksi projektin tekeleitä jaetaan vain projektin osapuolille ja +yhteistyöyliopistoille. + +Lisäksi projektin yhteydessä valmistettiin erillinen tekstin lavennin +(<http://www-ling.helsinki.fi/suopuhe/lavennin/>), jonka tuottamaa +XML-muotoista tekstiä suomenkielinen järjestelmä ymmärtää. + + + Helsingissä 23.5.2003 + + Tekijät + +2. TYÖNJAOSTA + +Ensimmäinen suomea puhunut versio syntetisaattoristamme taisi olla kokonaan +Martti Vainion (MV) käsialaa. Tämän rungon päälle rakennetut modulit, kuten +tavutus, tauotus ja alkukahdennus, ovat kaikkine virheineen pääsääntöisesti +Nicholas Volkin (NV) käsialaa. Grafeemi-foneemio -konversiosäännöt +perustuivat MV:n aikaisemmin tekemmän työhön, jotka NV jatkoi projektin +yhteydessä edelleen. Äännekestomalleissa käytettiin ensin MV:n aiemmin +toisessa yhteydessä laskemia keskiarvokestostoja (Ks. MV:n väitöskirja). +Pian tämän jälkeen Jarmo Välikangas ja MV rakensivat ensimmäiset CART-pohjaiset +äännekestomallit Festvoxin työkalujen avulla (VIITE), joita käytettiin +suurimman osan projektin ajasta. Lopullinen versio on Nicholas Volkin +Festoxilla rakentamat CART-puut, joissa huomioitiin erityisesti suomen kielessä +lingvististen teorioiden mukaan olevia merkitseviä piirteitä, kuten +moraa. Lisätyt lingvistiset piirteet perustuivat NV:n ja MV:n +intuitiohin. Festivalin Scheme-tulkin ja lingvistisen datan yhdistäminen +oli tietyin osin kivulaista, eikä esim. alkukahdennusta saatu +kunnolla mukaan kestomalliin, vaan se tehdään tavallaan kestomallista +huolimatta. + +Kestomallin rakentamisessa käytettiin MV:n aikaisemmin +(jossain aiemmassa projektissa(?)) nauhoittamaa n. 700 lauseen puhetietokantaa. +Kaikki intonaatiomallit, mukaan lukien valituksi tullut Fujisakin malli, +olivat MV:n kirjoittamia, NV tosin on muokannut niitä ja +intonaatiobugit ovat yleensä hänen syytään :) +Tämä manuaali ja virheet koodissa ovat kaikki todennäköisesti +Nicholas Volkin kirjoittamia. + +Difonisanalistan laadinta sekä difonilauseiden äänitys olivat Stefan +Wernerin vastuulla. + +3. MODULIT + +Syntesoinnin eri osavaiheet on jaettu moduleihin. Kukin moduli +huolehtii omasta kokonaisuudestaan ja moduleita on suhteellisen +helppo korvata keskenään. Festivalin tiedostot festival/lib/synthesis.scm +määrittää tavallisen puhunnokset-rakenteen seuraavasti: + +(defUttType Text + (Initialize utt) + (Text utt) + (Token_POS utt) + (Token utt) + (POS utt) + (Phrasify utt) + (Word utt) + (Pauses utt) + (Intonation utt) + (PostLex utt) + (Duration utt) + (Int_Targets utt) + (Wave_Synth utt) + ) + +Festival ei kuitenkaan ole niin kieliriippumaton kuin miltä se näyttää, +esimerkiksi tekstin lavennus tehdään tyypillisesti Token-modulissa +ennen POS-modulia. Suomessa ei kuitenkaan voida laventaa oikein, ennen kuin +morfologinen tieto on kerätty: + +Initialize +---------- + +Luo Utterance-olion. Ei muutettu. (Alkuperäistä C++-koodia.) + +Text +---- + +Festivalin omaa, kieliriippuvaista C++-koodia, jota ei kivutta voi kirjoittaa +uudelleen Schemessä. Tekee alkuperäisestä merkkijonosta Token-relaation. +Sananloppuiset pisteet käsitellään (järjestysluvuissa ja tietyissä +lyhenteissä väärin) täällä, eli poistetaan ja laitetaan +tilalle sopiva tauon ilmaiseva feature (mikä-sen-nimi-nyt-olikaan). +Kieliriippuvainen koodi aiheuttaa ongelmia järjestyslukujen ja pisteeseen +päättyvien lyhenteiden tunnistuksen kanssa. + +Token_Pos +--------- + +Englannin kieltä varten rakennettu moduli, jota käsittääkseni +mikään muu kieli ei koskaan käytä. Asettaa token_pos-featuren päälle +kullekin tokenille. + +Token +----- + +POS +--- + +Phrasify +-------- + +Word +---- + + +15 miehen 15 soitti 15. tammikuuta klo 15.15 puhelimella numeroon 15 15 15. + +Word-modulissa tavutetaan sana ja määritellään eri tavujen painot. +Suomen sanat taipuvat liikaa, jotta voitaisiin käyttää kiinteää +sanastoa, mutta toisaalta suomen kirjoituksen ja puheen välinen +suhde on selkeä ja sanapaino määräytyy ensimmäiselle tavulle, +tämä ei ole suuri ongelma. Sanalistojen avulla tehdään +ero sisältö- ja merkityssanojen välille. Yleisimmät sisältösanat on +poimittu morfologisen perustein ja listattu, jotta osattaisiin olla +laittamatta niille lausepainoa. + +Tavutus on totetutettu LTS-sääntöjen avulla (vrt. espanjankielinen ääni). +Sääntöjen avulla "väärennetään" Festivalin tukema Lisp-lista-muotoinen +sanakirjamerkintä. Ensimmäisen tavun pääpainon (2) lisäksi sanoille merkitään +myös mahdollinen sivupaino (1) ja painottomat tavut (0): + + ("takaraivo" "content" (((t a) 2) ((k a) 0) ((r a i) 1) ((v o) 0))) + ("mittari" "content" (((m i) 2) ((t: a) 0) ((r i) 0))) + ("mato" "content" (((m a) 2) ((t o) 0))) + ("matto" "content" (((m a) 2) ((t: o) 0))) + + +Tarkempi määritys sanaston merkinnöille löytyy Festivalin dokumentaatiosta. +Kannattaa kuitenkin huomatata, että kirjoitetun ja puhutun kielen tavutus +ei mene aivan yksi yhteen: kaksi samaa kirjainta vastaa tavallisesti +yhtä pitkää äännettä, esim. äskeisen mittari-sanan t:-kirjaimet realistuvat +puheessa yhtenä pitkänä t-äänteenä. Festivalissa ei äänteitä voi +kuvata ambisyllaabisina eli kahteen tavuun kuuluvina, joten olemme +käyttäneet jälkimmäistä tavua äänteen paikkana. Tällöin +lyhyet ja pitkät äänteet käyttäytyvät samalla tavalla (vrt. mato ~ matto). +Tämä tosin monimutkaistaa äännekestomallissa käytettyjen morien +laskentaa. Todettaakoon myös, ettei äännekestomalli hyödyntänyt +sivupainotietoa, tosin tätä tietoa ei onnistuttu myöskään eristämään +parhaalla mahdollisella tavalla opetusta varten. + +Pauses +------ + +Intonation +---------- + +Post_Lex +-------- + +Duration +-------- + +Oma kestomoduli Duration_Finnish. Periaatteessa äännekestot haetaan +tavalliseen tapaan CART-puusta. Lisäksi moduli huolehtii, että +äänteiden tietty minimipituus säilyy (nyt 30ms) ja venyttää +viimeistä äännettä. (Viimeinen äänne sisältää segmentointiteknisistä +syistä hiljaista loppuaspiraatiota ja lisäksi kestomalli ei välttämättä +venytä äännettä itsekseen tarpeeksi.) + + +Int_Targets +----------- + +Wave_Synth +---------- + +Signaalin generointi kerättyjen tietojen perusteella. Festivalin omaa +C++-koodia. + +4. MARK-UP + +Suomenkielisiä ääniä varten kehitettiin oma XML-moodi, nimeltään Suopuhe. + +5. ÄÄNET + +Kaksi ääntä, miesääni hy_fi_mv_diphone ja naisääni suo_fi_lj_diphone. +Äänten lisenssitilanteesta en ole tietoinen. + +6. TEHOKKUUS + +Testaamatta. + +7. TIEDOSTOT + + festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/COPYING + +Lisenssi, jahka päätetty... + + festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/finnish_duration.scm + +Suomen kielen äännekestomalli. Laskee CART-puun avulla +äänteiden kestot. Lisäksi taukoa edeltäviä äänteitä venytään +erikseen, sillä opetetun puun tekevä venytys ei tuntunut riittävältä. +RMSE 0.7680 Correlation is 0.6294 Mean (abs) Error 0.5780 (0.5058) + + festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/finnish_lex.scm + +Sanastotiedosto. Sanastojen avulla tunnistetaan sisältö- ja merkityssanat. +Lisäksi yksittäisten kirjainten leksikkoentryt. + + festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/finnish_lts.scm + +Sisältää Letter.to-sound -säännät, jotka muuttavat grafeemit eli merkit +foneemeiksi. LTS-konversion yhteydessä tehdään myös tavutus. +"Väärentää" Festivalin sanastoon kuulumattomille sanoille (käytännössä +kaikki sanat pl. yksittäiset aakkkoset) leksikkomerkinnät. +Merkinnän sanaluokka määritty finnish_lex-tiedoston tietojen påerusteella +tai suopuhe-moodilta saatujen tietojen perusteella. + + + festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/finnish_mv_int.scm + +Intonaatiomalli eli Fujisakin malli. Laskee perustaajuuden tavallisesti +50 millisekuntin välein, lyhyissä tavuissa tiheämmin. + +Intonaation yhteydessä myös nimeää tavut. + + festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/finnish_mv_phrase.scm + +Lisää puhunnokseen tauot ja tauotuksen jälkeen huolehtii myös +alkukahdennuksesta. + + festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/finnish_phones.scm + +Suomenkielisten äänteiden määritelmät. Käytetään mm. kestomallin apuna. +Äänteiden nimien pohjana toimii Sampa-aakkosto, mutta yhdenmukaisuus +ei ole täydellinen. Meidän tiettyjen äänteiden nimet ovat intuitiivisesti +helpompia muistaa. + + festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/hy_fi_mv_diphone.scm + festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/suo_fi_lj_diphone.scm + +Mies- (hy_fi_mv_diphone) ja naisäänen (suo_fi_lj_diphone) +määritelmät. Naisäänen "tiedosto" on vain symbolinen linkki miesääneen. + +festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/suopuhe.dtd + +Suopuhe-XML-moodin käyttämä DTD. + +festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/suopuhe_filter.perl + +Suopuhe-moodin käyttämä tekstin esikäsittelijä. +Siivoaa syötettä erinäisin osin. Siivous on helpompi tehdä Perlillä +kuin Schemellä... + +festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/suopuhe_mode.scm/ + +Suopuhe-moodin tulkitseva scheme-koodi + +festival/lib/voices/finnish/hy_fi_mv_diphone/group/mvlpc.group + +Miesäänen äänitietokanta. + +festival/lib/voices/finnish/suo_fi_lj_diphone/group/ljlpc.group + +Naisäänen äänitietokanta, + +8. SUOPUHEEN FUNKTIOT + +(= N1 N2) +Return true if N1 and N2 are equal numbers. + +(Duration_Finnish) +Lengthens the final phone after the duration cart tree. + +(SayText TEXT) +TEXT, a string, is rendered as speech. (Suopuhe redifinion) + +(accented_p SYL) +Sees if the syllable is accented... + +(add_linguistic_break WORD) +Adds a phrase break after the word, if the context is appropriate. +If the word is final return nil. If there already is a pause +return the word itself. Also is pause is added, return the word itself. +If pause couldn't be added, try the same with the next word. Simple! + +(baptize SYL) +Baptizes the given syllable by concatenating together the names +of it's daughters (phones) + + (calculate_fujisaki acc_list phrase list point alpha beta f_min) +Calculates the Fujisaki parameter values for a given point. Returns an absolute +Hertz value + +(compound_stress WORD) +Handles the exception stress placement in compounds. +The few compounds supported are recognized by the '-' separator. +However secondary word stress did not show up in duration and intonation +models... We could also add boundary detection based on vowel positions +in neighboring syllables. + +(distance_from_prev_pause WORD) +Distance (in syllables) from the previous word. + +(distance_to_next_pause WORD) +Counts the distance from the end of the word to the next pause in syllables. + +(end_of_phrase PHONE) +Used by the duration tree to detect phrase boundary. +Returns either 1 (last syllable), 2 (penultimate syllable of the phrase) +or 0 (other). Somehow I'm sure that there are easier and faster +ways to do this... + +(extract_feats relname feats utt outfd) +Extract the features and write them to the screen. + +No documentation available for user-defined function. + +(find_phrase_break WORD) +If the distance from previous break to the next break is +long enough (now 25 syllables), try to add more pauses +in between. New pauses are added between certain word classes. + +(define (find_phrases utt) +Returns a list of phrases from an utterance in the form +of lists whose car is the break level followed by start and end times + +(finnish_lts WORD) +Creates the lexical entry for the given WORD. + +(finnish_number INT) +Converts the INT into a corresponding string. +Very simple. Does not handle cases. + +(finnish_token_to_words token name) +A few simple ad hoc solutions for the most common simple T2W-problems. +It was much nicer to use an external Perl text normalizer than scheme. + +(finnish_tosyl_brackets phones) +Takes a list of phones containing - as syllable boundary. +Should we add a compound boundary? Probably... +Construct the Festival bracket structure. +Used by finnish_lts-function. + +(fujisaki_targ_func UTT STREAMITEM) +Returns a list of targets for the given syllable. + +(general_fi_diphone) +Shared settings for all Suopuhe voices. + +(general_fi_diphone) +Shared settings for all Suopuhe voices. + +(get_accent_list UTT) + +(get_amplitude point beta) +Calculate the amplitude from time and beta information: + +(get_phrase_amplitude time alpha) +calculate phrase amplitude for a given point in time. + +(get_phrase_list utt) +Returns a list of phrase commands for an utterance. The first command +is higher than the following ones. + +(initial_doubling WORD) +Checks wheter the current WORD can triggers initial doubling on the +next word or not. + +(insert_pause2 WORDITEM) + Insert a little break (pause segment) after the last segment in WORDITEM in UTT. + +(intro-finnish) +Synthesize an introduction to the Festival Speech Synthesis System +in Finnish. + +(lab_body PHONE) +Writes the LAB data for a given phone and recursively call +itself while there are phones left (ortographically right:). +The header is done in lab_header procedure which typically +is the caller of this function. + +(lab_header UTT) +Returns the contents for the to-be *.lab file based on the UTTerance. +Saving the output to a file is done somewhere higher. + +(language_finnish) +Set up language parameters for Finnish. + +(list2string LIST) +Construct a string from a list of symbols + +(make_number INT) +Splits numbers into 3-letter chunks, which are converted into a number. +Also adds an appropriate quantifier (like thousands) to each triplet, +thus producing any int between 1 - 999999999. + +(make_number2 INT) +Converts an up-to-three digit sequence into a number. + +(max num1 num2) +Returns the greater of the two. + +(min num1 num2) +Returns the smaller of the two. + +(monotone UTT SYL) +Monotonous intonation model. + +(mora PHONE) +Counts the number of morae in the syllable. +Used by the duration model. + +(mora2 list_of_phones) +Counts the moras (morae?) in a given list of phones. +Does not support ambisyllabic long consonants. + +(neg number) +Negates a number -- Festival SIOD doesn't understand (- number), but +requires TWO arguments to the '-' operator + +(number_list DIGIT) +Returns the corresponding string for a given DIGIT + +(one_by_one WORD) +Speaks the letters in the given WORD one by one. + +(parts_of_speech UTT) +Returns a list of sublists. Each sublist consists of a word's name +and part-of-speech based on the UTTerance. + +(phone_durations PHONE) +Prints the name and duration of a given PHONE. +The recursively goes through the next phones and does the same for them also. + +(phones UTT) +Prints a list of phone names in UTTerance and returns the original utterance +unchanged.. + +(pop_accent) +Removes and returns the topmost whatever from the suopuhe_accent_stack. + +(pop_pos) +Removes and returns the topmost whatever from the suopuhe_pos_stack. + +(push_accent alkio) +Adds alkio to the top of the suopuhe_accent_stack. + +(push_pos alkio) +Adds alkio to the top of the suopuhe_pos_stack. + +(remove_head_and_tail_spaces string) +Removes unspoken space sequences from the beginning and end of a give string. + +(save_suopuhe_output UTT) +Saves the UTT and some textual data about it to files. + +(skip_pause WORD) +Returns the word after the next pause or nil if there are no intersentence +pauses left. + +(sqr NUM) +NUM ** 2. + +(suopuhe_Pauses utt) +Converts the punctuation marks into appropriate pauses. +Does the list intonation too. + +(suopuhe_add_break UTT) +Adds pauses if necessary to a (overlong) utterance. +Applies some linguistic intelligence in the process... + +(suopuhe_adjust_volume utt) +Amplify or attenutate signale based on value of suopuhe_vol_factor +and suopuhe_vol_type (absolute or relative). + +(suopuhe_exit_func) +Exit function for SUOPUHE mode + +(suopuhe_init_func) +Initialisation for SUOPUHE mode + +(suopuhe_init_globals) +Initialize various global variables. + +(suopuhe_setup) +Reset tts hooks for suopuhe mode. + +(suopuhe_token_to_words token name) +SUOPUHE mode token specific analysis. + +(suopuhe_voice_param_setup) +Set up original values for various voice parameters. + +(syllable stress UTT) +Returns a list of sublists. Each sublist consists of a syllable name +and a syllable stress value based on the UTTerance. + +(syllables_in_word SYL) +Counts the number of syllables in a given word. Actually counts the numebr +of syllables from a given syllable to the end of word. + +(tts FILE MODE) + Convert FILE to speech. MODE identifies any special treatment + necessary for FILE. This is simply a front end to tts_file but + puts the system in sync audio mode first. [see TTS] + +(utt.length utt) +Returns the length of an utterance in syllables + +(wavesurf UTT) +Saves the utterance UTT as a wav file +and the creates the corresponding lab file. +The files are placed in the /tmp dir. +Then starts the wavesurfer-program for speech analysis. + +(word durations2 WORD) +Returns the name and start and end times of the given word. +Then recursively calls the next word if any and finally +returns a string consisting of data from all words visited. + +(word_has_break? WORD) +True, if the WORD is followed by # or ## "phone". + +(word_list_entry? STRING LIST) +Checks whether the STRING is member of any of the sublists of LIST. + + +9. SUOPUHEEN MUUTTUJAT + +suopuhe_output_file_prefix + Määrittää hakemistot, johon suopuhe-moodin mukaiset tiedostot talletetaan. + Oletusarvo "/tmp" + +suopuhe_max_sentences + Määrittää ylärajan levylle talletettaville puhunnoksille. + Oletusarvo 1000. Arvolla 0 tiedostoja ei pitäisi päätyä + kovalevylle laisinkaan, eli tällöin puhunnokset vain soitetaan. + +suopuhe_aloud + Jos tosi niin syntetisoitava ääni soitetaan ulos kaiuttimista, + muuten (arvolla epätosi) se vain talletetaan levylle. + Oletusarvoisesti tosi. + +[Vajavainen] + +10. TUNNETUT BUGIT + +Festival README.tiedosto kertoo seuraavaa: + + INSTALL + + Festival should run on any standard Unix platform. It has already run + on Solaris, SunOS, Linux and FreeBSD. It requires a C++ compiler (GCC + 2.7.2, 2.8.1, 2.95.[123], RedHat "gcc-2.96" and egcs are our standard + compilers) to install. A port to Windows NT/95/98 and 2000 using + either Cygnus GNUWIN32 and Visual C++ is included, this is still new + but many people are successfully using it. + + +Joillain gcc:n versiolla (3.2x) ei Festivalin versio 1.4.2 käänny. +Ongelma ratkeaa siirtymällä uudempaan Festivalin versioon (1.4.3) + +Verkosta löytyy valmiita RPM-tiedostoja, mutta näissä on ääkkösiin +liittyvä bugi (7-bittinen ascii...), joka johtuu SIOD:n käyttämän +editline-komentoriviohjelman rajoituksista. +Lähdekoodin tehtävä bugikorjaus on kerrottu www:ssä (Ks. kpl 12), mutta +RPM:ään tätä ei voine tehdä. + +Syntetisaattori käyttää ensisijaisesti lavennukseen ulkoista +lavennin-modulia, joten sen omat tekstin lavennussäännöt ovat sangen +huonot. + +Alkuperäinen koodimme on kirjoitettu ISO-8859-1 -standardilla +(vai oliko se 8859-15). Uudemmat unixit yrittävät tukea UTF-8:aa. +UTF-8-tuki puuttuu... Korjaukset tulisi tehdä tiedostoon +editline.cc, mutta niitä tuskin ehditään tekemään/testaamaan projektin +puitteissa, + +11. KÄYTTÖ + +Lukee laventimen tekemät suo- tai suopuhe-prefiksillä varustetut tiedostot +suopuhe-moodissa, käskyllä + +$ festival --tts foo.suo + +Muuten käyttö festivalin ohjekirjojen mukainen + +12. WWW-SIVUT + +Syntisaattorit ohjesivut tulevat vastaisuudessa löytymään +osoitteen http://www.ling.helsinki.fi/suopuhe alta. + + + +MUUTA + +VERSIOHISTORIA + + + +Notaatio: +numerot kertovat versionumerot, +kirjaimet viittavat pieniin päivityksiin/bugikorjauksiin. + + 22.10.2004 Lisenssitekstin liimailua + + 1.0f 23.5.2003 Äänipakettin polku festvox-paketteja vastaavaksi. + Puuttuvat funktioiden dokumentoinnit koodiin sekä + funtioiden dokumentaatio tähän dokumenttiin. + README-tiedostot siirtyneet yhtä hakemistoa ylemmäs. + + 1.0e 22.4.2003 Duration_Method paremmin ääniriippumattomaksi. + Versio naisäänestä pihalle + + 1.0d 16.4.2003 Korjattu suopuhe-moodissa ollut tauotusvirhe. + Korjattu paketintekoskriptissä ollut virhe, jonka + takia edellinen julkaistu versio (1.0c) ei sellaisenaan + toiminut. + + 1.0c 10.4.2003 Korjattu virhe LTS-säännöistä. + Poistettu 1 tarpeettomaksi käynyt funktio. + Mahdollisesti muitakin pieniä muutoksia + + 1.0b 10.2.2003 Tämä tiedosto osaksi pakettia. + Muutamaa äännekestoa korjattu käsin. (mm. pitkä l) + + 1.0a 6.2.2003 Suopuhe-moodista unohtuneet funktiot lisätty + pakettiin. Muutama bugikorjaus. + + 1.0 5.2.2003 julkaistu alustava versio + +Ennen helmikuuta 2003 julkaistut beta-versiot oli nimetty julkaisupäivän +mukaan. |