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:
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ć.
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.
Przyjmuje na wejściu frazę w zapisie ortograficznym i tłumaczy ją na notację EPN.
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ę.
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: