Podręcznik użytkownika programu
Spis treści:
Pierwsze kroki...........................str.2
Znaczniki sterujące
interfejsu SAPI5........................str.5
Wsparcie techniczne..................str.6
Kont@kt...................................str.6
Obsługa błędów
syntezatora mowy.....................str.5
Słownik dla głosu......................str.3
Tryb dokładny i lektorski............str.4
Zaawansowany paser tekstu.......str.4
voice
Copyright © 2009 IVO Software Sp. z o.o.
wersja dla Windows
2
Praca z IVONĄ - pierwsze kroki
P
£
£
odczas instalacji syntezatora mowy IVONA - komputer wzbogacił się o możliwość
generowania ludzkiej mowy wysokiej jakości. Interpretacja tekstu podawanego
syntezatorowi mowy IVONA jest realizowana przez niedeterministyczne algorytmy
sztucznej inteligencji. Oznacza to, że w niektórych przypadkach wyniki ich działania mogą być inne
od oczekiwań użytkowników. W takich przypadkach należy odpowiednio przygotować
syntezowany tekst by osiągnąć zamierzony efekt.
Przecinki i kropki
Tekst do odczytu powinien być napisany zgodnie z zasadami polskiej gramatyki i ortografii.
Przykładowo zdanie Ala ma,jednego kota." zostanie przeczytane: Ala ma przecinek jednego
kota.", ponieważ w tekście brakuje spacji po przecinku przed wyrazem jednego". Taki sposób
interpretacji tekstu do odczytu jest pomocny przy znajdowaniu błędów w pisowni tekstu.
Syntezator mowy IVONA zawsze interpretuje przecinki i kropki. Zdanie Ala ma kota, a kot ma Alę."
zostanie zinterpretowane i odczytane jak zdanie złożone (z przerwą na znaku przestankowym),
podczas gdy zdanie Ala ma kota a kot ma alę." jak pojedyncze zdanie twierdzące. Interpretowanie
przecinków i kropek powoduje, że zdania zostają odczytane i zaintonowane w sposób taki, jakiego
oczekuje się od lektora. Pamiętając o tej właściwości syntezatora mowy IVONA można osiągnąć
ciekawe efekty. Na przykład można wyróżnić pewne wyrazy stawiając przed nimi przecinek, np.
zdanie Ala ma, jednego, kota." zostanie zupełnie inaczej przeczytane niż zdanie Ala ma jednego
kota.".
Wyrazy obcojęzyczne
Jednym z głosów dostępnych dla syntezatora mowy IVONA jest głos Jacek, który jest głosem mowy
polskiej. Oznacza to, że tekst podany syntezatorowi zostanie zawsze przeczytany tak, jakby był
napisany w języku polskim. Dlatego też wyrazy obcojęzyczne zostaną również przeczytane po
polsku. Aby osiągnąć poprawną wymowę należy występujący w tekście wyraz obcojęzyczny
zastąpić jego zapisem fonetycznym w języku polskim. Do tego celu można wykorzystać słownik
syntezatora mowy IVONA, w którym można wpisać słowa pojawiające się szczególnie często w
syntezowanych tekstach.
Przykłady: windows menu -> łindołs meni; microsoft word ->majkrosoft łord
Więcej informacji na temat używania słownika znajduje się w rozdziale Zaawansowany paser
tekstu”.
„
„
„
„
„
„
„
„
3
Słownik głosu
Lista wyrazów zamienianych
Zamieniaj Z” oraz Zamieniaj Na”
„
„
Akceptuj – (widoczny w czasie edycji słowa)
wciśnięcie powoduje zaakceptowanie
wprowadzonej zmiany do słownika
Anuluj – (w polu Słownik”, widoczny w
czasie edycji słowa) wciśnięcie anuluje
wprowadzoną zmianę do słownika
„
Dodaj - po wciśnięciu przycisku
Dodaj” można
wypełnić pole Z” wyrazem poszukiwanym oraz Na”
wyrazem na jaki należy wyraz poszukiwany zamieniać.
„
„
„
Edytuj - wciśnięcie przycisku spowoduje możliwość
zmiany wyrazu poszukiwanego i zamienianego
Usuń - wciśnięcie przycisku usuwa aktualnie
wybrany wyraz poszukiwany ze słownika
Pomijaj znaki - pozwala wybrać znaki, które mają być
ignorowane podczas odczytu tekstu (cudzysłów, myślnik,
nawiasy, klamry, tylda, apostrofy, znaki: < >,/)
Sposoby odczytu tekstu
Tryb odczytu
„
Dokładny”
Tryb odczytu
„
Lektorski”
N
£
£
£
iekiedy zachodzi potrzeba przekształcenia tekstu przed syntezą, w sposób zapewniający
poprawny sposób jego odczytu. Typowym przykładem mogą tu być wyrazy obcego
pochodzenia, które należy przekazać do syntezatora fonetycznie. Aby sprostać tym
potrzebom głosy syntezatora mowy IVONA obsługują rozbudowany mechanizm słownika
wyjątków.
Okno dialogowe słownika wyjątków zawiera trzy części:
Słownik - jest to lista wyrazów wyjątkowych. Użytkownik może do niej dopisywać własne
wyjątki zapisane w sposób fonetyczny.
Sposób odczytu tekstu - pozwala wybrać jeden z trybów odczytywania. W trybie
Dokładnym” syntezator odczytuje wszystkie znaki znajdujące się w podanym tekście, podczas
gdy w trybie Lektorskim” część z nich interpretuje imitując zachowanie lektora. Szczegóły
działania obu trybów zostały opisane w dalszej części tego dokumentu.
Pomijanie znaków - użytkownik może skonfigurować, które znaki mają zostać bezwzględnie
pominięte podczas odczytywania. Zaznaczone znaki zostaną usunięte z tekstu wejściowego
zanim trafi on do syntezatora.
„
„
4
Tryb Dokładny i Lektorski
Zaawansowany paser tekstu
S
yntezator mowy I
może pracować w dwóch trybach:
ektorskim i
okładnym . W
zależności od używanego trybu IVONA w różny sposób odczytuje tekst. W trybie
okładnym wystąpienie jednego ze znaków specjalnych (np. nawias, myślnik, etc.)
powoduje odczytanie jego nazwy przez I
. W trybie
ektorskim I
próbuje
zinterpretować tekst tak, jak to robi lektor, czyli nie odczytuje nazwy specjalnego znaku, ale
odpowiednio zmienia intonację zdania. Na przykład zdanie: Ala ma kota Stefanka
zostanie
zupełnie inaczej odczytane w obu trybach. W trybie dokładnym usłyszymy Ala ma kota cudzysłów
Stefanka cudzysłów." podczas, gdy w trybie lektorskim usłyszymy Ala ma kota, Stefanka.".
Aby uruchomić tryb lektorski należy uruchomić okno konfiguracji słownika i zmienić sposób
interpretacji tekstu na tryb lektorski. Tryb lektorski jest szczególnie użyteczny do zamiany na
mowę dużej ilości tekstu wcześniej nieobrobionego, np. tekstu książek, w którym znajduje się
wiele dialogów.
VONA
L
”
D
”
VONĘ
VONA
„
”.”
„
„
„
„
„D
”
„L
”
„
G
UWAGA!!!
łos SAPI5 syntezatora mowy IVONA ładuje reguły z pliku słownik ivona.lex, który
umieszczony jest w katalogu instalacyjnym syntezatora. W rzeczywistości słownik jest
bardzo rozbudowanym parserem tekstu pozwalającym praktycznie dowolnie modyfikować
tekst poprzez zastosowanie wyrażeń regularnych zgodnych z definicją POSIX 1003.2 regular
expressions . Słownik zbudowany jest na zasadzie - jedna reguła w jednej linii. Reguła
tekst_do_zamian łańcuch_docelowy
Przykład: ivo software iwo softłer
Jeżeli któryś z członów zawiera białe znaki to należy go ująć w czudzysłów. Jeżeli któryś z członów
zawiera cudzysłów to należy poprzedzić go znakiem ucieczki \ (backslash). Człon tekst do zmiany
definiuje wyrażenie regularne dopasowujące tekst do zamiany. W procesie przekształcania tekstu
przed syntezą dopasowany fragment zostaje zastąpiony poprzez łańcuch docelowy. Przy czym
łańcuch docelowy może zawierać referencje do dopasowywanego tekstu zapisane notacją \1 .. \9
(\0 to całe dopasowanie). Na przykład dodanie reguły: Singapur([[:alpha:]]*) S~'ingapur\1
spowoduje zamianę wszystkich wystąpień słowa Singapur we wszystkich odmianach.
Ręcznie dodawane reguły do pliku słownika mogą pojawić się w oknie dialogowym
słownika wyjątków w zmienionej formie. Ze względu na ułatwienie obsługi okno dialogowe
słownika wyjątków wstępnie przetwarza reguły tak, aby były łatwiejsze do zrozumienia. Nie należy
w oknie dialogowym słownika wyjątków modyfikować reguł dodanych ręcznie do pliku!
Przykładowe reguły
Poniżej przedstawiamy kilka reguł słownika systemu syntezy mowy IVONA używanych do
najbardziej typowych zadań. Należy zauważyć, że reguły są case-insensitive - czyli działają bez
rozróżniania wielkości liter.
(^|[[:punct:][:space:]])Software([[:punct:][:space:]]|$) \1softłer\2
Powyższa reguła działa w sposób następujący: zamień słowo Software , na wersję zapisaną
fonetycznie - softłer . Otoczenie słowa ^|[[:punct:][:space:]] oraz [[:punct:][:space:]]|$
oznacza dowolny znak interpunkcyjny, biały znak lub początek tekstu (znak ^) lub
koniec tekstu (znak $) . Gdyby go nie było algorytm zamieniałby wszystkie wystąpienia słowa
Software (co akurat dla słowa Software nie jest niekorzystne, w przeciwieństwie do np. dla
słowa Ala - ponieważ zamieniane byłyby także takie słowa jak: oddala , przechwala ).
Opisywane tu otoczenie słowa zostało ujęte w nawiasy, aby umożliwić wykorzystanie referencji
wstecznych - \1, \2, które powodują kopiowanie znaków dopasowanych do fragmentów reguły z
nawiasów, na wyjście bez zmian. Powyższą regułę należy rozszerzyć jeżeli chcemy dopasować dwa
wyrazy, np.: (^|[[:punct:][:space:]])IVO[[:space:]]+Software([[:punct:] [:space:]]|$)
\1iwo softłer\2
Zapis w słowniku usuwający niechciane znaki z tekstu: [!?@#$%*&()]+
a
„
”
składa się z
dwóch członów oddzielonych dowolną ilością białych znaków:
„
”
„
”
„
”
„
”
„
”
„
”
„
”
„
” „
”
„
”
„”
£
5
Znaczniki sterujące interfejsu SAPI5
Obsługa błędów syntezatora mowy
W
tekście podawanym do syntezy można używać znaczników sterujących, które pozwalają
na modyfikację generowanej mowy w trakcie syntezy. Wszystkie znaczniki mają postać
znaną z XML.
Lista znaczników przydatnych podczas pracy z syntezatorem mowy IVONA:
Volume - Przy pomocy znacznika Volume można kontrolować głośność głosu. Jeżeli znacznik
pozostanie pusty to zmiana głośności odnosi się do całego tekstu następującego po znaczniku,
inaczej wyłącznie do tekstu ujętego w znacznik. Znacznik Volume wymaga atrybutu
evel ,
który określa nowy poziom głośności. Wartość tego atrybutu musi zawierać się w przedziale [0,
100], gdzie 100 oznacza 100% głośności i jednocześnie jest wartością domyślną.
Przykład:
Ala ma kota, <volume level= 5
>a kot ma Alę.
Ala ma <volume
level= 50 >kota</volume>, a <volume level= 50 >kot</ volume> ma Alę.
Rate - Znacznik Rate pozwala kontrolować szybkość generowanej mowy. Znacznik może być
pusty, co oznacza, że jego działanie odnosi się do całego następującego po nim tekstu. Znacznik
Rate wymaga jednego z dwóch atrybutów: speed lub absspeed. Oba atrybuty przyjmują wartości z
zakresu [-10, 10], gdzie -10 oznacza mowę najwolniejszą. Wartość 0 oznacza prędkość domyślną
głosu. Atrybut speed zmienia prędkość mowy w sposób względny (czyli w odniesieniu do bieżącej
prędkości mowy), a absspeed w sposób bezwzględny.
Przykład: Ala ma kota, <rate absspeed= 5 >a kot ma Alę. <rate absspeed= -1 >Ala ma <rate
speed= 1 >kota</rate>, a <rate speed= 1 >kot</rate> ma Alę.
Silence - Znacznik Silence pozwala wstawić ciszę w określonym miejscu generowanej
wypowiedzi. Długość wstawianej ciszy wyrażona jest w milisekundach. Znacznik Silence musi być
pusty i zawierać jeden atrybut msec.
Przykład: 3 <silence msec= 2000 /> 2 <silence msec= 2000 /> 1 <silence msec= 2000”/>
bum.”
Spell - Znacznik Spell wymusza literowanie ujętego w nim fragmentu tekstu. Znacznik ten
nie może być pusty. Ala ma papugę, która mówi i umie całkiem nieźle wymawiać niektóre literki,
na przykład <spell>abcd</spell>.
£
£
£
£
„
”
„
”
„L
”
„
”
„
„ 0”
”
„
„
”
„
”
”
„
„ ”
” „
„
”
„ ”
„ ”
”
„
”
„
„
”
„
”
„
„
”
„
”
G
£
£
łosy SAPI5 syntezatora mowy IVONA do zgłaszania błędów wykorzystują mechanizm
rejestru zdarzeń systemu Windows. Rejestr ten jest dostępny w Panelu Sterowania/
Narzędzia administracyjne/Podgląd Zdarzeń w sekcji Aplikacja.
Błędy głosu SAPI5
Wystąpił problem z inicjalizacja interfejsu SAPI5 - nie można zaladowac pliku biblioteki głosu ”
Błąd może powstać podczas próby niepoprawnie zainstalowanego głosu syntezatora mowy IVONA,
któremu brakuje jednego ze składników. Pojawienie się tego błędu oznacza, że dany głos nie będzie
mógł być używany dopóki problem nie zostanie usunięty. Należy zainstalować dany głos ponownie.
Interfejs SAPI5 nie może zostać użyty, ponieważ przekroczono limit dozwolonych licencji
syntez równoleglych.”
Błąd powstanie podczas próby przeprowadzenia syntezy niezgodnej z dostępną licencją.
Najczęstszą przyczyną jego występowania jest próba przeprowadzenia większej liczby
jednoczesnych syntez niż zezwala na to licencja. Należy zwrócić uwagę na to, że niektóre programy
korzystające z interfejsu
5 zajmują syntezator nawet gdy nie syntezują mowy. Dlatego też, w
przypadku pojawienia się tego błędu, należy sprawdzić czy nie został uruchomiony inny program
wykorzystujący dany głos IVONA.
„
.
„
SAPI „
”
W razie pytań lub kłopotów z uruchomieniem produktów firmy IVO Software proszę kontaktować
się bezpośrednio z działem wsparcia technicznego dla klientów:
email: support@ivo.pl
tel: + 48 58 783 49 51
Wsparcie techniczne
IVO Software Sp. z o.o.
al.Zwycięstwa 96/98, 81-451 Gdynia
fax: +48
e-mail: ivo@ivo.pl
www: www.ivo.pl; www.ivosoftware.com
tel.: +48 58 783 49 51
58 732 90 91
TM
Kont@kt
6