Festivalin asennus: Linux

Tarvittavat ohjelmat saa Festivalin kotisivulta osoitteesta http://www.cstr.ed.ac.uk/projects/festival/. Suomenkielisten äänten pitäisi toimia ainakin kirjoitushetkellä uusimmalla versiolla (1.4.3, Speech Tools versio 1.2.3). Kaiken järjen mukaan toimii myös hieman vanhemmilla ja myös tulevilla versiolla. Käytä sitä tai uudempaa. Festivalin asentamisesta löytyy minun työsuhteeni päätyttyä yksityishenkilönä kirjoittama yksityiskohtaisempi ohjesivu ( http://www.ling.helsinki.fi/~nvolk/festival.shtml). Tämä sivu ei ole kaikin osin ajan tasalla.

Asenna ensin Edinburgh Speech Tools (versio 1.2.1 tai 1.2.2). Jotta 'ä'-kirjain toimisi, pitää siod/editline.c-tiedoston rivi 1943:

{ 'd', fd_kill_word },

muuttaa muotoon:

/* { 'd', fd_kill_word }, */

Tämän jälkeen voit kääntää Speech Toolsin.

Sitten voit asentaa Festivalin. Siinä ei muistaakseni pitäisi olla suurempia ongelmia. Myös sopiva ääni (festvox) / leksikko (festlex) -pari on syytä asentaa. Tämän jälkeen voi testata ohjelman toimivuutta seuraavasti:

unix_prompt$ festival
Festival Speech Synthesis System 1.4.1:release November 1999
Copyright (C) University of Edinburgh, 1996-1999. All rights reserved.
For details type `(festival_warranty)'
festival> (SayText "Hello World")

Festival on lisäksi saatavissa ainakin Debian-paketteina, mutta niiden haemistohierarkia ym. poikkeavat vähän oletusarvoista, joten joudut virittelemään sitten suomi-ääntä ilman ohjeita enempi.

Festivalin asennus: Windows

Festivalin versiosta 1.4.1 on olemassa valmiiksi käännetty versio, jonka voi hakea osoitteesta http://www.festvox.org/windows. Soveltunee testikäyttöön, mutta tuotantokäytössä olisin varovainen. Ohjelman voi toki yrittää kääntää Unixin tavoin ähdekoodista.

Suomenkielisen äänen hakeminen, asentaminen ja päälle laitto

Suomenkieliseen ääneen liittyvät tiedostot löytyvät limited-alihakemistosta. Hakemistoon pääsevät vain projektin sidosryhmät, jotka ovat ilmoittaneet IP-osoitteensa allekirjoittaneelle.

Hakemistossa olevat hy_fi_mv-päiväys.tgz ja pian myössuo_fi_lj-päiväys.tgz-tiedostot sisältävät suomenkielisen mies- ja naisäänen festivaliin.

Itsenäisen modulin muodostava lavennin on talletettu muodossa lavennin-päiväys.tgz.

siteinit.scm-tiedosto sisältää esimerkkitiedoston, jolla voi säätää Festivalin asetuksia. Ko. tiedosto tulee laittaa Festivalin lib-alihakemistoon. RPM:iä tai muuta ei-sorsa-asennusta käyttävillä ei tuota hakemistoa välttämättä ole. Sijoituspaikka on heille se hakemisto jossa on paljon *.scm tiedostoja.

.tgz-päätteiset tiedostot voi purkaa käskyllä tar -zxvf tiedoston_nimi.tgz. Suomenkieliset äänitietokannat puretaan äsken mainitun lib-hakemiston voices-alihakemistoon, jolloin festari löytää äänen automaattisesti. Laventimen voi purkaa haluamaansa paikkaan.

Windowsin purkuohjelmien kanssa kannattaa olla varuillaan sillä Alan Blackia lainatakseni:

The most common windows/Linux problem here is unpacking files under windows without windows treating them as binary files (winzip unpacking .tar.gz likes to do this unless you are careful). So I would check that the file a right.

Nykyiset versiomme noudattavat siis festival-hierarkiaa, joten esim. nykyinen miesääni luo ffinnish/hy_fi_mv_diphone/ -hakemiston ja sille alihakemistot festvox/ ja group/, josta Festivalin pitäisi löytää ne automaattisesti. Suomenkielisen äänen saa päälle käskyllä (hy_fi_mv_diphone). Ääntä voi käyttää esim. seuraavasti:

$ festival
Festival Speech Synthesis System 1.4.1:release November 1999
Copyright (C) University of Edinburgh, 1996-1999. All rights reserved.
For details type `(festival_warranty)'
festival> (SayText "Hello World!") ;; englanninkielinen oletusääni
nil
festival> (hy_fi_mv_diphone)
nil
festival> (SayText "Terve maailma!")

Laita Festival-asennuksesi /joku_polku/festival/lib/-hakemistoon, allaolevan kaltainen tiedosto siteinit.scm:

;; siteinit.scm alkaa...
;; VOLUME KAAKKOON, FESTIVAL PUHUU SANGEN HILJAA LINUXISSA
(set! default_after_synth_hooks
           (list
             (lambda (utt)
               (utt.wave.rescale utt 1.0 t))))

;; 
(if (probe_file "JOKU_POLKU/festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/hy_fi_mv_diphone.scm")
    (begin 
      (load "JOKU_POLKU/festival/lib/voices/finnish/hy_fi_mv_diphone/festvox/hy_fi_mv_diphone.scm")
      (set! voice_default 'hy_fi_mv_diphone)))
;;; ... siteinit.scm päättyy

Nyt suomenkielinen ääni latautuu oletusääneksi automaattisesti Festivalin käynnistettäessä. Muuta "JOKU_POLKU" vastaamaan oman asennuksesi polkua. Vaihtoehtoisesti voit laittaa nuo scheme-käskyt kotihakemistoosi .festivalrc-nimiseen tiedostoon. Tällöin sinulla on oletusäänenä suomi ja muilla alkuperäinen (englanti).

Suomenkielinen ääni saattaa tulostaa ruudulle sekailaisen läjän debuggaus-roskaa. Niistä pääsee eroon muuttamalla hy_fi_mv_diphone.scm-tiedostosta (set! hy_debug t) rivi muotoon (set! hy_debug nil).

API

Festivalin manuaalin API-sivu.

Festivalin java-kielinen versio, FreeTTS sisältää Festivalia paremman JSAPI-tuen. Ihmekös tuo kun se on Sunin väen tekemä. Perehtyy siihen tarkemmin jahka saa syntikan parempaan kuntoon.

XML

Alustava versio Suopuheen DTD:stä