Text2wave
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
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
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
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
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.