Festvox-Suopuhe

Linux.fista
(Ohjattu sivulta Suopuhe)
Siirry navigaatioon Siirry hakuun
SuoPuhe
Tekijä(t) Finnish Speech Technology: A Multidisciplinary Project
Moottori Festival
Ensijulkaisu huhtikuuta 2003
Käyttöliittymä Komentorivi
Tyyppi Festival-ohjelman äänitietokanta moduuli
Lisenssi LGPL
Kotisivu www.ling.helsinki.fi/suopuhe/index.shtml
Lähdekoodi www.ling.helsinki.fi/suopuhe/

SuoPuhe on Festival-ohjelman suomenkielinen äänitietokanta moduuli, joka tuottaa suomenkielistä puhetta tekstistä. Suopuheen ääni perustuu difoni konkatenaatioon, jossa aikaisemmin nauhoitettuja äännepareja mallinnetaan matkapuhelimissa käytetyn lineaarisen ennustamisen (LPC) avulla. Suopuhe on toteutettu TEKESin rahoittamassa Finnish Speech Technology: A Multidisciplinary Project -hankkeen sisällä ((SuoPuhe TEKES 40285/00, 40406/01, 40238/02, HY 460325)). Projekti päättyi huhtikuussa 2003.

Puhesynteesiosiossa kehitettiin Edinburghin yliopistossa kehitetyn Festival-puhesyntesialustan päälle kaksi suomenkielistä ääntä. Äänen perustuvat difonikonkatenaatioon, jossa aikaisemmin nauhoitettuja äännepareja mallinnitaan matkapuhelimissa käytetyn lineaarisen ennustamisen avulla (LPC).

Miesäänen sisältävä hy_fi_mv_diphone-äänimoduli Festivaliin ja tekstinlavennin on julkaistu LGPL-lisenssin alla.

Lisäksi kehitettiin erillinen Perlillä toimiva tekstinlavennusmoduli, joka korvaa tekstissä esiintyvät numerot, lyhenteet ja muut ongelmatapaukset niiden lukukelpoisina vastikkeina, jotta syntetisaattori osaisi lukea ne oikein.

Emacspeakiin lisättiin tuki suomenkieliselle Festival-synteesille, joka perustuu hyvin alkeellisen espeakf-nimisen koodinpätkään. (espeakf:n koodista tuli myöhemmin kehittyneempi versio, jota ei siis hyödynnetty.) Tämä on GPL-lisenssin alaisuudessa. Yhteensopivuus Emacspeakin nykyisen version kanssa on kysymysmerkki. [1]

Asennus[muokkaa]

SuoPuhe löytyy useimpien jakeluiden paketinhallinnasta nimellä festvox-suopuhe-common, festvox-suopuhe-lj, festvox-suopuhe-mv, libestools2.5, festival ja festlex-poslex. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.

Suomenkieliset määritykset[muokkaa]

Komennot, jotka alkavat $-merkillä suoritetaan tavallisena käyttäjänä ja komennot, jotka alkavat #-merkillä suoritetaan pääkäyttäjänä. Katso myös su, sudo ja doas.

Festival tarvitsee määritykset suomenkielistä puhetta tuottaakseen. Ladataan ne seuraavaksi päätettä käyttäen:

$ wget https://raw.githubusercontent.com/lahtis/SuoPuhe/main/festival.scm

festival.scm tiedoston sisältö näyttää tältä.

 ;; Any site-wide Festival initialization can be added to this file.
 ;; It is marked as a configuration file, so your changes will be saved
 ;; across upgrades of the Festival package.
 ;; 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 "/usr/share/festival/voices/finnish/suopuhe.common/hy_fi_mv_diphone.scm")
      (begin 
       (load "/usr/share/festival/voices/finnish/suopuhe.common/hy_fi_mv_diphone.scm")
       (set! voice_default 'hy_fi_mv_diphone)))
 ;;; ... siteinit.scm päättyy

Kopioidaan se /etc hakemistoon.

# cp festival.scm /etc/festival.scm

Ladataan skripti, jolla Festivalia voi helposti käyttää kotihakemistosta:

$ wget https://raw.githubusercontent.com/lahtis/SuoPuhe/main/sano.bash

Skriptin sisältö näyttää tältä:

 echo $* > /tmp/ttv && iconv -f UTF-8 -t ISO8859-1 /tmp/ttv > /tmp/ttv2 &&festival --tts /tmp/ttv2 >/dev/null 2> /dev/null

annetaan sano scriptille suoritusoikeudet komentorivillä:

$ chmod a+x sano.bash

Testataan toimivuus kotihakemistossa.

$ ./sano.bash olen puhuva pää

Kopioidaan se /usr/local/bin/ hakemistoon

# cp sano.bash /usr/local/bin/

Kokeillaan komentorivillä, saatiinko Ubuntu puhumaan suomea:

$ sano.bash Hyvää päivää. Minä olen puhuva pää.

Katso myös[muokkaa]

  • Text2wave on Festival-projektiin sisältyvä apuohjelma, jonka avulla voit muuntaa tekstidokumentin syntetisoiduksi puheäänitiedostoksi.
  • Esteettömyys

Aiheesta muualla[muokkaa]