Michał Małecki
michal.malecki@pjwstk.edu.pl
Aby dodać nową regułę należy otworzyć okienko reguł i wcisnąć odpowiedni przycisk. reguły można zapisywać do i wgrywać z pliku.
Każda reguła składa się z pięciu elementów:
new Regula(int poczatek, String wzorzec, String[] zamienniki, int przesuniecie, int waga);
Początek do pozycja przystawienia wzorca względem aktualnej pozycji w sekwencji liter. Dla przykładu liter:
_ p r z y g l ą d a m _ s i ę _ l i a n o m _
i przykładowej reguły zamieniającej wszystkie "się" przed nowym wyrazem na literę "l" na "xxx" należy skonstruować regułę:
(R1) new Regula(0, "się l", new String[]{"x", "x", "x"}, 3, 0);
Przetwarzanie odbywa się sekwencyjnie litera po literze. Gdy nastąpi przetwarzanie znaku odpowiadającego literze "s" z "się" zostanie przyłożona nasza reguła R1. Ponieważ wzorzec reguły składa się z czterech znaków zostaną pobrane dodatkowo trzy znaki następne. Pobrane "się l" zgadza się ze wzorcem reguły czyli reguła będzie zaaplikowana. Do wyjścia przekazane są kolejne znaki zamiennika czyli "x", "x" i "x". Na koniec następuje w buforze wejściowym przesunięcie o 3 znaki określone jako przesunięcie w regule).
Jeżeli chcemy stworzyć regułę, która zamienia "l" stojąca po "się" na "x" należy skonstruować regułę:
(R2) new Regula(-4, "się l", new String[]{"x"}, 1, 0);
Wtedy gdy natrafi na literę "l", dobierze litery wstecz od -4 znaku. Pobrane z bufora wejściowego "się l" zgadza się z wzorcem reguły R2 więc na wyjście zostaną rzucone znaki z zamienników czyli "x". Przesunięcie w buforze wyjściowym wynosi 1.
Aby regulować intonację należy wybrać z opcji i wypełnić odpowiedni schemat i wprowadzić zmiany.
W okienku transkrybcji można dowolnie zmieniać wartości trwania oraz wysokości dla poszczególnych difonów.