Przejdź do treści

Milena polski syntezator mowy dla systemu Linux

Menu

Krótko (z uwagi na brak czasu)

Milena to system TTS, służący do translacji tekstu w języku polskim na zapis fonetyczny, który może sterować bezpośrednio syntezatorem mowy. W przeciwieństwie do istniejących tego typu systemów Milena korzysta z danych zapisanych w plikach tekstowych w formacie czytelnym dla człowieka, co pozwala na łatwą modyfikację owych plików w celu uzyskania lepszej jakości mowy.

Milena jak na razie stanowi dość wczesną fazę rozwoju, tak więc efekty nie muszą być wcale porównywalne z komercyjnymi systemami (np. Ivona czy Loquendo). Tym niemniej stanowi alternatywę dla darmowego eSpeaka, a generowana przez moduł mbroli mowa jest po pierwsze nieco lepsza jakościowo niż przy użyciu zestawu eSpeak + mbrola, po drugie dzięki zastosowaniu tekstowych słowników nie wymaga w większości przypadków wstępnego przetwarzania tekstu.

W odróżnieniu od innych systemów Milena przetwarza tekst wielofazowo, co pozwala na łatwe modyfikacje zachowania poszczególnych faz czy też stworzenie własnego programu realizującego daną fazę w inny sposób. Poszczególne fazy to:

  1. Frazer

    Przyjmuje na wejściu tekst w zapisie naturalnym. Koryguje wymowę obcojęzycznych wyrazów i skrótowców, ustala prawidłową formę liczebników oraz jednostek przy liczebnikach mianowanych. Zwraca pojedyncze frazy tekstu w zapisie ortograficznym oraz informację o rodzaju danej frazy. Aktualna wersja frazera wymaga tekstu wejściowego w ISO-8859-2.

    Frazer interpretuje wejściowy tekst jako "literacki" - czyli nie zawierający różnych dziwnych znaczków które w tekstach takowych rzadko występują. W przeciwieństwie do innych systemów nie ma tu możliwości włączenia odczytywania wszystkich znaków interpunkcyjnych czy sygnalizacji wielkich liter. Powód jest prosty - Milena w założeniach miała być systemem służącym do czytania literatury pięknej a nie technicznej, i te założenia zdaje się spełniać.

  2. Prestresser

    Ustala akcentowanie dla przypadków, gdy wyraz nie jest akcentowany na drugiej sylabie od końca oraz siłę akcentu dla różnych wyrazów. Przyjmuje na wejściu frazę w zapisie ortograficznym, zwraca tę samą frazę wzbogaconą o informacje o akcentowaniu.

  3. Translator

    Przyjmuje na wejściu frazę w zapisie ortograficznym i tłumaczy ją na notację EPN.

  4. Poststresser

    Ustala akcentowanie dla słów które nie zostały uwzględnione w fazie frazera lub prestressera. W praktyce sprowadza się to do ustalenia akcentów na drugiej sylabie od końca oraz uwzględnienia połączeń wyrazów (np. "nie mam" akcentowanie na "nie"). Zwraca tekst w notacji EPN z akcentami umieszczonymi bezpośrednio przed samogłoską tworzącą sylabę.

  5. Moduł wyjściowy

    Tłumaczy tekst w notacji EPN z akcentami wewnątrz wyrazów na (szeroko rozumianą) mowę. W chwili obecnej istnieje tylko jeden moduł wyjściowy, którego wynikiem jest tekst w notacji Mbroli.

Zarówno tekst wejściowy dla frazera, jak i tekst ortograficzny w poszczególnych fazach mogą zawierać dodatkowe informacje o akcentowaniu i wymowie. Ponieważ zarówno sam program, jak i użyta wewnętrznie notacja nie są w pełnu opracowane i ukończone, bezpiecznymi sekwencjami sterującymi są na razie:

Pliki danych są wyszukiwane:

  1. w bieżącym katalogu
  2. w katalogu ~/.milena
  3. w katalogu instalacyjnym