NOWOŚCI!
Od wersji 0.2.77 (wersja ABC 0.3.62) Milena może bezpośrednio korzystać z przetworzonych danych
Morfologika. Sposób instalacji
danych oraz krótki opis na stronie Milena i Morfologik.
Powróciłem do stworzenia używalnej wersji Milena dla Windows!
Pakietów dla Ubuntu, Debiama, RaspiOS-a i podobnych nie ma i nie będzie.
Instalacja ze źródeł jest na tyle prosta, że nie powinna sprawiać żadnych
problemów nawet początkującym użytkownikom.
Oczywiście jeśli ktoś chce - wszystkie wersje źródeł (zarówno
podstawowa, jak i update) są dostępne i tego raczej nie zmienię.
Uruchomiony został
konwerter książek online.
Bliższe informacje na stronie
ebookconverter.eu.
Od wersji 0.3.7 Milena ABC
dzięki opracowaniu biblioteki
libivolektor
w pełni współpracuje z syntezatorem Ivona (zarówno w wersji SAPI
uruchomionej w środowisku Wine jak i w natywnej linuksowej ivonacl).
Generowanie ortograficznych tekstów dla Ivony zostało również włączone
do głównej biblioteki Mileny.
Pakiety potrzebne do działania Mileny (ich nazwy mogą różnić się w poszczególnych dystrybucjach!):
- mbrola
- mbrola-voice-pl
- enca-devel
- antiword (do milenizera)
- odt2txt (do milenizera)
- poppler-utils lub xpdf-utils (pdftotext, do milenizera)
- libao-devel
- sox v>=14.1
- lame (do milena_book)
- vorbis-tools (oggenc, do milena_book)
- faac (do milena_book)
- amrwb (do milena_nokia)
- ImageMagick (do milena_nokia)
Zainstaluj: milena-.tar.gz czyli
wreszcie wersja końcowa.
Co to właściwie jest
Milena to system
TTS
(czyli coś przetwarzającego tekst na mowę),
zorientowany na przetwarzanie "surowych" tekstów (artykuły prasowe,
e-booki itp) i pisany od początku z myślą o języku polskim.
Nie jest to w ścisłym znaczeniu syntezator mowy -
Milena jedynie tworzy dane (tzn. realizuje fazę
NLP)
syntezy), a sama synteza mowy (w znaczeniu syntezy dźwięku, czyli DSP) to zadanie dla
innego programu. W chwili obecnej Milena potrafi utworzyć dane dla
syntezatora Mbrola, ale nic nie stoi na przeszkodzie aby zastosować inny
silnik wymowy (np.
eSpeak
czy - po pewnych modyfikacjach -
Ivona).
Mimo iż systemem na którym powstaje Milena jest Linux (sprawdzone
działanie na PLD Th 32-bit [nieoficjalny spec], Ubuntu 8.10/9.04 32-bit i CentOS 5.2 64-bit), prawdopodobnie nie
powinno być problemu z przystosowaniem Mileny do działania na innych
systemach (w tym również Windows).
Milena tworzona jest z myślą przede wszystkim o użytkowniku -
eksperymentatorze, stąd wszystkie pliki z których korzysta to zwykłe
tekstowe pliki czytelne dla człowieka. Nie ma też (jak w eSpeaku)
konieczności kompilacji, a pliki danych mogą znajdować się w różnych
miejscach (np. główny plik translatora w katalogu instalacyjnym,
a plik na którym eksperymentujemy w katalogu bieżącym). Kolejność
przetwarzania reguł jest ściśle określona (Milena nie próbuje znaleźć
"najlepszej pasującej" reguły, a w zależności od fazy przetwarzania
stosuje pierwszą lub ostatnią pasującą). Do edycji tych plików nie jest
również potrzebna znajomość jakiegokolwiek języka programowania.
Nie oznacza to, że Milena nie może być użyta po prostu jako
syntezator mowy ogólnego przeznaczenia.
Podziękowania
Przede wszystkim Marcinowi Miłkowskiemu za jego
Morfologika, bez którego
powstanie Mileny byłoby niemożliwe.
<p role="ironia">Firmie Ivo Software, która tak długo zwleka
z udostępnieniem Ivony Desktop, że zdążyłem przez ten czas napisać
własny system TTS.</p>
Coś a la changelog
Różnice w stosunku do wersji 0.1.7
- Zmieniony algorytm ustalania akcentu pomocniczego
(melodia powinna być bardziej naturalna).
- Rozpaczliwa próba odróżnienia "lady sklepowej" od "lady Makbet"
(po włączeniu języka angielskiego).
- Poprawione algorytmy akcentowania jednosylabowych wyrazów na końcu frazy.
- Dodana korekta dla kilku błędnie wymawianych przez Mbrolę zbitek fonemów
(np. "cz-samogłoska" na końcu frazy).
Różnice w stosunku do wersji 0.1.6
Wyłącznie poprawki techniczne. Usunięte błędy powodujące błędne akcentowanie
mimo prawidłowo wprowadzonych reguł.
Różnice w stosunku do wersji 0.1.5
- Poprawki w kodzie (to już tradycyjnie) i słownikach.
- Instalator dla Ubuntu Linux (instaluje również mbrolę i pl1).
- Uwzględnienie "ubuncizmów" (stara wersja soxa) i "peeldyzmów"
(lame hgw why wymaga
podania -x).
- Skrypt dla kadu-notify-speech pozwalający podłączyć Milenę jako syntezator mowy zamiast "powiedz".
- Próba poprawienia jakości błędnie zapisanych samogłosek w pl1
(np. sekwencji
"ts-o-_"
).
Różnice w stosunku do wersji 0.1.4
Różnice w stosunku do wersji 0.1.3
- translator i moduł mbroli są teraz bibliotekami (libmilena.so i
libmilena_mbrola.so). Dodano funkcje ułatwiające integrację Mileny
z aplikacjami pomocniczymi.
- całkowicie zmieniony dykcjonarz, poprawione błędy w milenizerze.
- automatyczne wykrywanie czy w systemie jest libenca i w zależności
od tego kompilacja milenizera z enca lub wbudowaną funkcją sprawdzania
kodowania.
- dodane pliki umożliwiające współpracę ze speech-dispatcherem (umożliwia
to między innymi użycie Mileny do współpracy ze screenreaderami).
- Dodane odczytywanie ułamków zwykłych w postaci licznik/mianownik (w
ograniczonym zakresie wartości).
- W przeciwieństwie do pewnego Najlepszego Syntezatora™ Milena prawidłowo
akcentuje zdania "mnie ma nie stać" i "mnie na nie stać" (próbuje wykryć
czy "nie" to przypadkiem nie zaimek). Swoją drogą ciekawe, kiedy Najlepszy
Syntezator się tego dorobi...
- i jak zwykle poprawki w kodzie.
Różnice w stosunku do wersji 0.1.2
- Drobne poprawki w kodzie i słownikach
- Dodane aplikacje pomocnicze (dykcjonarz, milenizer, milena_book)
Różnice w stosunku do wersji 0.1.1
- dodana dokumentacja frazera
- dodana wymowa (w translatorze) ciągów liter niewystepujących w języku
polskim (sing,cing) lub rzadko występujących (tz, stein) oraz sekwencji
litery "í" z następującą samogłoską (np. Díaz, María).
- dodana możliwość zakończenia zdania przez frazer, jeśli w czasie
przetwarzania
recognize
stwierdzony zostanie prawdopodobny
koniec zdania.
- dodanie w słowniku frazera możliwości wystąpienia opcjonalnego myślnika -
(np. "pop~corn" pasuje do "popcorn", "pop corn", "pop-corn") oraz dopasowania
dowolnego napisu do końca wyrazu.
- Usunięty błąd powodujący "PANIC" Mbroli w niektórych przypadkach
przy obniżeniu wysokości głosu.
- Drobne poprawki w plikach translatora, słownika i frazera.
Różnice w stosunku do wersji 0.1
- modyfikatory wymowy pozwalające zmienić prędkość i wysokość fragmentu
frazy
- umożliwienie ignorowania znaków sterujących frazerem
- umożliwienie wymawiania wszystkich znaków
Wymagania
- gcc i gmake - do instalacji
- mbrola i polski głos do mbroli - do tworzenia mowy
- lame, sox, aplay czy cokolwiek - do owej mowy słuchania
- libenca - przydatna (choć niewymagana) do skompilowania milenizera
- libao - do skompilowania serwera milena_ws
Trochę więcej informacji
- README (trochę w skrócie i nie do końca aktualne,
ale pozwala się zorientować).
- notacja fonetyczna zastosowana w Milenie (również
nie do końca aktualna, w rzeczywistości w czasie tworzenia Mileny było
tam nieco zmian, ale prawdopodobnie będą konieczne następne).