Lule Sami Text-to-Speech

Finite state and Constraint Grammar based Text-to-Speech processing

View the project on GitHub giellalt/speech-smj

Page Content

TTS-møte 13.1.2021

Til stades: Inga, Katri, Tommi, Sjur

Mål:

Prosjektdelar:

Moglege syntesemaskiner/-system:

Speech data requirements: Opptak: 5-10 timer trengst for å trena ein WaveNet-syntese.

Om opptaka:

Samarbeid: - med Bruce? Sjur spør. - med Helsingfors (Katri has consulted Antti Suni and Martti Vainio on 13.1.)

Espeak-ng instructions from Juho Hiltunen (in Finnish)

Teknisenä ratkaisuna espeak-ng:n vahvuus on avoin lähdekoodi ja suurin tuettu kielten määrä. Se tukee yli 100 kieltä, tosin tuen laatu vaihtelee. Sen heikkous on monen mielestä formanttisynteesistä johtuva robottimainen puhe, mutta se lienee jonkin verran mielipidekysymys.

Löytyykö saamenkielien ääntämykselle IPA (International Phoneme Alphabet) tai Kirschenbaum-merkit? Jos löytyy ja ymmärrät miten ne toimivat, helpoin tapa on varmasti ottaa saamenkieliä lähinnä oleva kieli (varmaan suomi), tehdä siitä kopio ja muokata pikku hiljaa. Esimerkiksi suomea koskevat tiedot löytyvät pääosin täältä:

Dokumentaatio löytyy täältä: https://github.com/espeak-ng/espeak-ng/blob/master/docs/index.md. Siinä on sekaisin sekä teknisiä muokkauksia vaativat osuudet että kieliosaamista vaativat osuudet.

Uskon, että suurin työ on päästä sinuksi syntetisaattorin dokumentaation ja sisäisen toimintalogiikan kanssa niin, että muutoksia voi tehdä ja testata nopealla syklillä. Löytyykö sinulta tai kontakteiltasi tietoteknistä osaamista? Jos löytyy, dokumentaation seuraaminen pitäisi onnistua. Jos ei, voin jonkin opettaa. En ole täysin varma kuinka pitkälle uuden kielen lisäämisessä pääsee ilman ohjelmointiosaamista. Isompiin muutoksiin tarvitaan C-kääntäjä ja gnu autotools (esim. gcc ja make). Varsinaista ohjelmointikoodin lisäämistä tuskin tarvitaan, mutta ns. build environment kyllä. Suomenkielistä käsitettä en tuolle tiedä. Suosittelen linux-ympäristöä.

Ehdotukseni työvaiheiksi pähkinänkuoressa:

  1. ohjelman toimintalogiikkaan tutustuminen, build environmentin rakentaminen ja testaus. Tässä vaiheessa pitäisi pystyä tekemään jokin haluttu pieni muutos vaikkapa suomenkieliseen toteutukseen ja todentaa ottaako syntetisaattori tehdyn muutoksen käyttöön.
  2. suomenkielisen toteutuksen kopioiminen saamenkielisen toteutuksen pohjaksi - yksittäisten sanojen turhat lausumissäännöt yms. voi tässä vaiheessa poistaa
  3. aakkosten saaminen oikeankuuloisiksi
  4. diftongien ja muiden tavujen lausumissääntöjen toteuttaminen
  5. numerot
  6. sanapainosäännöt
  7. tärkeimpien yksittäisten sanojen hienosäätöä.
  8. tehtyjen muutosten julkaisu Githubiin, jotta muutokset päätyvät aikanaan esim. NVDA-ruudunlukuohjelman käyttöön

Oulun yliopiston Petter Morottajan kanssa oli puhetta, että inarinsaameksi ongelma on siinä ettei yksitttäisen sanan kirjoitusasusta voi täysin päätellä lausumisasua, jolloin hyvälaatuiseen lopputulokseen tarvittaisiin tekstin ja syntetisaattorin väliin ns. lexical analyser. Pohjois- ja koltansaamesta en tiedä.