Bądź: Wyszukaj na stronie z użyciem Google
reklama:

wtorek, 25 sierpnia 2009

Milena - open source'owy syntezator mowy

Autor: , 11:00, wtorek, 25 sierpnia 2009


Milena to system do przetwarzania tekstu na mowę, pisany od początku z myślą o języku polskim. Milena nie jest sama w sobie syntezatorem mowy tylko aplikacją która tworzy dane dla syntezatora mowy Mbrola. W chwili obecnej Milena jest jeszcze we wczesnej fazie rozwojowej.

Dzięki Milenie obejrzymy film z lektorem, przetworzymy tekst do pliku czytanego mp3 (audio book), wykorzystamy ją też w Kadu, w module kadu_notify_speech oraz kilku innych funkcjach. Głos lektorki nie powala na kolana ale moim zdaniem jest na dobrej drodze aby za jakiś czas dorównać konkurencyjnej IVONIE. Pokaże proces instalacji programu oraz jak odtworzyć film z lektorem.

Instalacja zależności:

sudo apt-get install enca

Instalacja programu

Pobieramy paczkę programu ze strony twórców a następnie rozpakowujemy ją i przechodzimy do utworzonego katalogu. Później wykonujemy po kolei instalacje, najpierw pakietu mbrola:

sudo ./ubuntu_install_mbrola.sh
a następnie samej mileny:

sudo ./ubuntu_install_milena.sh

Odtwarzanie filmów z lektorem

Najpierw musimy skonwertować napisy do formatu .jss bo tylko taki format obsługuje program:

mplayer -dumpjacosub -ao none -vo none film.avi
i odtwarzamy film za pomocą polecenia:

mplayer -subcp enca:pl:cp1250 -softvol -ao alsa -sub Nazwa_pliku_z napisami.txt nazaw_filmu.avi | milena_subplayer ./dumpsub.jss

Można też wygodniej tworząc skrypt z danymi poniżej:


#!/bin/bash

#ustaw opcje mplayera w linii ponizej
mplayer_opt="-ao alsa"

#odkomentuj ponizsza linie jesli nie chcesz wyswietlania napisow
#nodisplay=t

film=$(readlink -f "$1")
napisy=""
if [ "$2" != "" ] ; then
napisy=$(readlink -f "$2")
fi
if [ -d ~/tmp ] ; then
cd ~/tmp
else
cd ~
fi
if [ "$napisy" = "" ] ; then
mplayer -subcp enca:pl:cp1250 -nosound -vo none -dumpjacosub \
$film >/dev/null 2>/dev/null
else
mplayer -subcp enca:pl:cp1250 -nosound -vo none -dumpjacosub \
-sub "$napisy" $film >/dev/null 2>/dev/null
fi
if [ "$nodisplay" = "t" ] ; then
napisy=""
mplayer_opt="$mplayer_opt -noautosub"
fi
if [ "$napisy" = "" ] ; then
mplayer -subcp enca:pl:cp1250 -softvol $mplayer_opt \
"$film" | milena_subplayer ./dumpsub.jss
else
mplayer -subcp enca:pl:cp1250 -softvol $mplayer_opt \
-sub "$napisy" "$film" | milena_subplayer ./dumpsub.jss
fi
rm ./dumpsub.jss

Film odtwarzamy komendą:

nazwaskryptu.sh ./nazwa_filmu.avi

Wszystkie inne możliwości programu opisane są na stronie autorów.

Tagi: ,

blog comments powered by Disqus

Prześlij komentarz


Popularne posty

Etykiety