Text2wave

Linux.fista
Siirry navigaatioon Siirry hakuun
Text2wave
Moottori Festival
Käyttöliittymä Komentorivi
Tyyppi syntetisoitu puheääni

text2wave on Festival-projektiin sisältyvä apuohjelma, jonka avulla voit muuntaa tekstidokumentin syntetisoiduksi puheäänitiedostoksi.

Esimerkki[muokkaa]

Luo esimerkkitekstitiedosto seuraavalla komentorivikäskyllä:

echo "Tämä teksti muutetaan puheäänitiedostoksi. Nythän tämä parani huomattavasti. Jos minut joskus opetetaan laulamaan. Niin teen teille sitten biiisin. Sitä ennen minun täytyy oppia kirjoittamaan ja puhumaan vielä paremmin. Huomaa minulla on tässä myös pieni ärrä vika. " > minuntekstini.txt

Muuntaa tekstitiedoston wav-ääneksi. Huomaa, että tässä ei toimi äät, ööt ja erikoismerkit.

text2wave -o minunääneni.wav minuntekstini.txt

Wav-muoto[muokkaa]

Paras laatu

Luetaan minuntekstini.txt tiedostosta rivit, putkitaa ne muuta UTF-8 ISO-muotoon. Ajetaan text2wave ohjelman läpi wav-muotoon.

cat minuntekstini.txt | iconv -f UTF-8 -t ISO8859-1 -c | text2wave -otype wav -eval '(language_finnish)' -o mies_ääni.wav

Parannetaan tiedoston laatua ajamalla se SoX-äänenmuuntimen läpi ja pakkaamalla se FLAC-tiedostoksi

sox mies_ääni.wav mies_ääni1.flac remix - norm -3 highpass 22 gain -3 rate 48k norm -3 dither

Todettu että äänisuotimien ja muuntimien läpi viety ääni, parantaa puhesynteesin laatua. Jää napsaudukset ja räsähdykset pois.

sox mies_ääni.wav mies_ääni2.flac remix - norm -7 highpass 10 gain -2 treble -40 rate 48k norm -5 dither contrast 4 echos 0.8 0.7 7 0.25 7 0.3

Lisää ohjaus komentoja löytyy SoX -oppasta.

Tungetaan kaikki nyt yhteen, kuuntele.flac tidostosta voit kuunnella sitten tulokset..

#!/bin/bash 
cat minuntekstini.txt | iconv -f UTF-8 -t ISO8859-1 -c | text2wave -otype wav -eval '(language_finnish)' -o /tmp/ttv > /tmp/ttv2 && sox /tmp/ttv kuuntele.flac remix - norm -7 highpass 10 gain -2 treble -40 rate 48k norm -5 dither contrast 4 echos 0.8 0.7 7 0.25 7 0.3

Mp3-muoto[muokkaa]

Kelvollinen laatu. (Ääni räsähtää lopussa).

Luetaan minuntekstini.txt tiedostosta rivit, putkittaa ne muuta UTF-8 ISO-muotoon. Ajetaan 'text2wave ohjelman läpi wav-muotoon ja pakataan lamella mp3-muotoon. Tämä ensimmäinen esimerkki käyttää nais-ääntä. Ja tässä toimivat erikoismerkit.

cat minuntekstini.txt | iconv -f UTF-8 -t ISO8859-1 -c | text2wave -otype wav -eval '(voice_suo_fi_lj_diphone)' -o - | lame - minun_nais_ääni.mp3

Ja tämä toinen esimerkki käyttää mies-ääntä.

cat minuntekstini.txt | iconv -f UTF-8 -t ISO8859-1 -c | text2wave -otype wav -eval '(voice_hy_fi_mv_diphone)' -o - | lame - minun_mies_ääni.mp3

Yhistetään äänet, niin voidaan verrata kumpaakin ääntä samalla raidalla.

cat *.mp3 > kaikki_yhteen.mp3

Kuunnellaan tiodosto käyttämällä komentorivillä toimivaa vlc:tä

nvlc kaikki_yhteen.mp3

OGG Vorbis-muoto[muokkaa]

Huonoin laatu. (Liian nopea, orava ääni)

Nainen

cat minuntekstini.txt | iconv -f UTF-8 -t ISO8859-1 -c | text2wave -otype wav -eval '(voice_suo_fi_lj_diphone)' -o - | oggenc -r -R 16000 -B 16 -C 2 - > recording.ogg

Mies

cat minuntekstini.txt | iconv -f UTF-8 -t ISO8859-1 -c | text2wave -otype wav -eval '(voice_hy_fi_mv_diphone)' -o - | oggenc -r -R 16000 -B 16 -C 2 - > recording.ogg
  • Huomautuksia jos bitrate eli bittitaajuutta muuttaa suuremmaksi kuin -R 16000, ääni menee oravaksi ja nopeaksi. Äänenlaatua en vielä keksinyt miten sitä saisi parannettua, ogg koodekki ainakin muuttaa ääntä, tässä tapauksessa. Kokeilin myös reitittää sen jackille, mutta tietämys stdout reitittämisestä on liian vähäinen. En tiedä onnistuisiko se reitittää ja käsitellä lennosta.

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]