Każdy z nas wie i nie trzeba tego tutaj szczegółowo wyjaśniać, ile możliwości w zakresie dostępu do informacji, daje nam komputer. Te informacje można zdobywać, przetwarzać, łączyć je, wyciągać wnioski, w konsekwencji kupować jedzenie, planować podróż, robić zakupy do domu, słuchać muzyki, wybierać sobie książki doczytania i tak mógłbym długo wymieniać. Można by zaryzykować stwierdzenie, co prawda z dozą rozsądku, że technologia dała nam niewidomym w porównaniu do jej braku, wprost niewyobrażalne możliwości. Na co dzień nie analizuje się tego i nie docenia, gdyż mało kto pamięta, jak to było, gdy gadających rzeczy nie było u nas w domach.
Ja też nie pamiętam, ale pamiętam swojego tatę, który z ”nowoczesnych technologii”, to załapał się na książki nagrywane na kasetach i każdą drogę, każdy rozkład jazdy autobusów, każdą listę zakupową miał nie w komputerze udającym telefon, nie na starym poczciwym PC, nie na Czytaku, ale w swojej głowie. Czy były tego konsekwencje? Zapewne tak. Wiedział tyle, ile w radio powiedzieli, jeździł tam, gdzie trafił, wiedział o świecie tyle, co sam poznał. Późna w Polsce komputeryzacja zastała go już na etapie, gdzie nie udało mu się przeskoczyć mentalnej bariery, że teraz to w jednym pudełku, co stoi na biurku i warczy ma się i radio, i telewizor, i książki, i gazety, i rozkłady jazdy i zanotować coś można. Czy przez to wiedział mniej? Trudno dziś stwierdzić, bo bardzo dużo wiedział o najbliższej okolicy. Pola, lasy, wądoły i ciekawe miejsca w mieście, w którym mieszkaliśmy, nie były dla niego tajemnicą. Tę wiedzę przekazał mi, z tej wiedzy skorzystałem, jednak podziwu dla aktywnych osób z epoki sprzed nowoczesnych technologii się do dzisiaj nie wyzbyłem, mając bez wątpienia dużo łatwiej niż one.
Jednak te dobrodziejstwa, którymi dzisiaj obdarowuje nas technologia, nie byłyby dla nas dostępne, gdyby ktoś nie wpadł na rozsądny pomysł, że mowa będzie tym kanałem informacyjnym, przez który dowiemy się, co maszyna chce nam zakomunikować. Wydaje się to oczywiste, że skoro tekst jest wyświetlany na wirtualnej stronie, czyli ekranie, bo jeszcze wcześniej komunikaty były zwyczajnie drukowane na papierze, to naturalnym jest, aby ten tekst spróbować przetworzyć na mowę. Do interakcji z tym tekstem tymczasem jeszcze trochę wody w Wiśle musi upłynąć.
CO TO JEST SYNTEZATOR MOWY?
Jak wieść niesie i wikipedyści wypisują, choć i w papierowej encyklopedii na podobną definicję kiedyś natrafiłem, że ”syntezator mowy to urządzenie lub program, zamieniające tekst na mowę”. Ja wiem, że problem jest złożony, że programiści mogliby poczuć się dotknięci, to jednak prostszej definicji zagadnienia, bez wchodzenia w szczegóły nie znalazłem, o czym można się przekonać, zaglądając pod niniejszy adres: https://pl.wikipedia.org/wiki/Synteza_mowy.
Oczywiście, pisząc tekst, mam tu na myśli tekst cyfrowy, czyli sytuację, gdzie literom są przyporządkowane liczby, które maszyna rozumie. Te liczby są przekazywane do syntezatora mowy i dalej na tej podstawie jest syntetyzowana „nieludzka” mowa. Chociaż… Gdy słucha się współczesnych syntezatorów, to ta mowa, choć przecież nie przez człowieka wypowiadana, brzmi całkiem ludzko.
Składa się na to wiele czynników, a dogłębne zrozumienie procesów, jakie zachodzą wewnątrz ”mechanicznego gardła” raczej nie będzie przedmiotem mojego dociekania, gdyż wiedza ta jest obszerna i o tyleż ciekawa, co w szczegółach nudna i podszyta sporą dozą matematyki. Spokojnie jednak, tych, którzy są zaciekawieni, nie pozostawię z niczym, skupiając się na tych aspektach generowania sztucznej mowy, które są ciekawe.
CZY JUŻ MASZYNA PRZESTAŁA GAWORZYĆ?
Chciałbym tutaj przytoczyć jeszcze jedną anegdotę z czasów sprzed epoki powszechnej cyfryzacji i nowoczesnych technologii, chyba że za takie uznamy wybuchający co pewien czas kolorowy telewizor marki Rubin, pochodzący od wschodnich przyjaciół. Otóż, kiedy rozważałem kupno pierwszego komputera, nic o komputerach jeszcze nie wiedząc, jak tajemne zaklęcia w głowie rozbrzmiewały mi słowa: ”architektura IBM, Intel 486, 40MB HDD”, a na to wszystko do tych zagadek włączył się tata i zapytał, jak ja mam zamiar z komputera korzystać. Bo jak coś, to on w pracy rozmawiał z takim jednym, i może mi załatwić takie urządzenie, co się gdzieś z tyłu wkłada, pod to podłącza się magnetofon i jak coś tam na tym komputerze się napisze, to można na kasetę nagrać to, co się napisało i potem odsłuchać, aby sprawdzić, czy w tekście nie ma błędów. Kolega z pracy tak robi, jak pisze artykuły. Jednak to chyba słabe rozwiązanie… Pozostało mi się jedynie z tatą zgodzić. Do dziś nie wiem, co to było za technologiczne rozwiązanie, gdyż we współczesnej sieci nic na ten temat nie znalazłem. Podejrzewam, że musiało to być jakieś amatorskie dzieło z jeszcze wcześniejszych czasów, oparte na zastosowaniu pierwszych przetworników cyfrowo analogowych zwanych Covoxami, służących do generowania ośmiobitowego dźwięku, pierwotnie mono, a potem stereo. Dziwi mnie pomysł z nagrywaniem czegokolwiek na kasetę, bo jeśli nawet był to sam program, który zamieniał tekst na mowę, bez programu odczytu ekranu, to podłączenie słuchawek do Covoxa dałoby taki sam efekt, jak podłączenie magnetofonu, bez potrzeby nagrywania czegokolwiek.
GADAJĄCE PUDEŁKA
Nie jestem do końca pewien, czy Covoxy były pierwsze, a potem sprzętowe syntezatory mowy, czy rozwijało się to równolegle, w każdym razie, należy zdać sobie sprawę, że syntezator mowy bez programu odczytu ekranu w przypadku osób niewidomych to żadna rewelacja. Co po tym, że coś gdzieś można wpisać, wkleić, wysłać, i zostanie do odczytane lepszą lub gorszą sztuczną mową. Cały sukces polega na tym, aby wiedzieć, co jest na ekranie i wejść z tą „wiedzą” w interakcję, a do tego jest już potrzebny kombajn, składający się z programu odczytu ekranu, jak i syntezatora mowy, czy to sprzętowego, czy to programowego. Wspomniane Covoxy do tego celu w latach 80 – 90 wydają się być idealne, bo są tańsze od ówczesnych kart dźwiękowych, łatwe w użyciu, bo wystarczy je podpiąć do portu drukarki, no i zaopatrzyć się w coś, co tę mowę będzie nam generować. Więcej o tym urządzeniu, które długo cieszyło się uznaniem i popularnością, zwłaszcza wśród graczy można przeczytać pod adresami: https://www.wikiwand.com/pl/Covox oraz http://www.uniprojekt.waw.pl/wlasne/covox.html.
Takim pierwszym polskim ”kombajnem”, łączącym w sobie i program odczytu ekranu i mowę, wypowiadaną przez Covoxa, był być może znany niektórym Czytelnikom program ReadBoard dla systemu DOS. Był to produkt firmy Altix. Nad projektem pracowało kilku ludzi, a efektem końcowym było połączenie dwóch niezbędnych dla pracy osoby niewidomej komponentów (programu odczytu ekranu i syntezatora mowy) w całość. W ten sposób pierwsza nieludzka mowa trafiła pod nasze strzechy i była dostępna cenowo dla standardowego użytkownika jak na tamte czasy bardzo nowoczesnej technologii. Do generowania sztucznej mowy użyto tutaj zgranych wcześniej maleńkich fragmentów ludzkiej mowy, zwanych fonemami, które były przechowywane w pamięci komputera i zgodnie z tekstem wysłanym przez program odczytu ekranu do syntezatora mowy łączone w wyrazy i wysyłane do podłączonego do portu drukarki covoxa, a ten przetwarzał je z postaci cyfrowej do analogowej. To rozwiązanie na pewno było dalekie od dzisiejszych, jednak dawało już osobie niewidomej kontrolę nad komputerem i znacznie poszerzało możliwości w zakresie przetwarzania i dostępu do rozmaitych informacji. W pewnym mocnym uproszczeniu zasada działania syntezatorów mowy, zwłaszcza tych brzmiących bardziej mechanicznie, nie zmieniła się od tamtych czasów. Zmienił się jedynie sprzęt, jest lepszy, szybszy, ma więcej pamięci operacyjnej, można więcej próbek ludzkiego głosu, w lepszej jakości upakować w maszynie. Na temat samego programu ReadBoard można więcej przeczytać pod adresem: www.altix.pl/bg/?????/historia-firmy/. Takie rozwiązanie sztucznej mowy, choć wiele daje, nie jest pozbawione wad. Jak na tamte czasy, dużą wadą była dostępność wolnej pamięci operacyjnej. Dla tych, którzy nie pamiętają, pragnę przypomnieć, że system operacyjny DOS dawał 640KB pamięci, po zainstalowaniu rozmaitych ulepszeń można było mieć dostęp do pozostałej części swojej pamięci w komputerze, jednak tylko na zasadzie przechowywania danych, a nie wykonywania dynamicznych operacji. Ta pozostała część to też jakieś skromne 2, 4 mega bajty. Tak więc na przechowywanie fonemów w dobrej jakości miejsca za dużo nie było, a pamiętajmy, że syntezator mowy, program odczytu ekranu jest tylko dodatkiem, nakładką, która ma nie jako działać przy okazji pracy programów właściwych, tj. edytorów tekstu, odtwarzaczy muzyki, baz danych itp. Zaczęto zatem cały proces syntezy mowy wyprowadzać na zewnątrz komputera do niezależnego urządzenia. Tak powstał syntezator sprzętowy, czyli taki prosty komputerek, który podłączało się zwykle kablem pod port szeregowy lub równoległy, do niego program odczytu ekranu kopiował tekst, a cały mechanizm składania tego w słowa, fonemy i potrzebna do tego matematyka odbywała się wewnątrz syntezatora mowy, nie obciążając procesora i pamięci komputera.
Jednym z lepszych i cenionych sprzętowych polskich syntezatorów mowy, obecnym na rynku przez wiele lat, był SMP, produkt sprzedawany przez firmę E.C.E. Doczekał się on również podobnie, jak i sam Readboard, swojej wersji programowej, w czasach, gdy zasoby naszych komputerów bez problemu na to pozwalały.
SMP GOTÓW
Kto nie używał ten nie wie, dlatego warto o tym napisać, ”SMP gotów”, to anons, jaki mogliśmy usłyszeć po podłączeniu zasilania do pierwszego polskiego sprzętowego syntezatora mowy, który został opracowany przez pana Konrada Łukaszewicza z Instytutu Biocybernetyki i Inżynierii Biomedycznej PAN. Pamiętam, w jaką panikę popadałem, gdy tego komunikatu zabrakło. To tak, jakby osoba widząca włączyła monitor i zobaczyła czerń na ekranie. Cała sprytna elektronika, wraz z pamięcią, procesorem i oprogramowaniem do zarządzania fonemami ludzkiej mowy, pierwotnie mieściła się w pudełku zbliżonym wymiarami do kasety VHS. Ja załapałem się już na obudowę metalową, chociaż są tacy, którzy twierdzą, że pierwotnie obudowa była plastykowa, jednak po jakimś niefortunnym zdarzeniu, gdy upadek spowodował pęknięcie obudowy, firma E.C.E postanowiła zastosować jako materiał coś trwalszego od plastyku. Urządzenie było wyposażone w zasilacz prądowy, który podłączało się pod specjalne wejście oraz w port komunikacyjny, który kablem transmisyjnym wpinało się w port Com1 lub Com2 znajdujące się z tyłu obudowy komputera. W zestawie znajdowała się dyskietka z programem instalacyjnym, który na naszym sprzęcie instalował program odczytu ekranu SCR. To jeden z lepszych tego typu programów, gdyż zajmował bardzo mało miejsca w udostępnianej przez system DOS pamięci operacyjnej, bo ok. 50 kilobajtów. Poza tym, prócz tego, co robił docelowo, czyli odczytywał w sposób inteligentny, jak na tamte czasy, zawartość ekranu, posiadał sprytny interfejs do zarządzania sobą samym i sterowania syntezatorem mowy. Tym interfejsem była brajlowska klawiatura, symulowana na zwykłej qwerty. Jedyne czego mi brakowało w tamtych czasach, to możliwości, aby program SCR również dawał funkcję pisania brajlem, gdyż zanim opanowałem układ qwerty, sporo musiałem się z tym faktem namęczyć. Co ciekawe, jeśli z jakiegoś powodu SCR nie zadziałał lub mieliśmy taki kaprys, można było do SMP, zwykłą komendą ”copy” wysłać zawartość pliku tekstowego, a on został odczytany. Sam mechanizm syntezatora SMP doczekał się na przestrzeni lat wkomponowania go w dużo mniejsze urządzenia niż pierwotny syntezator mowy i mogliśmy go używać z powodzeniem w odmianach Kajetków, tych mini i tych dużych, które prócz bycia elektronicznymi notesami, też mogły być podłączone do komputera i pełnić funkcję syntezatora mowy. Ostatecznie SMP, jak obecne trendy i nowoczesne rozwiązania technologiczne mają w zwyczaju, doczekał się też swojej wersji na system Windows jako program, a nie urządzenie sprzętowe. Więcej szczegółów na temat samego SMP możemy przeczytać albo na stronie http://poradnik-logopedyczny.pl/wykorzystanie-komputera/peryferia-ulatwienia/136/smp4-elektroniczny-syntezator-mowy-polskiej.html oraz u samego producenta, z którym można się skontaktować i zadać pytania: www.ece.com.pl.
BEE, JAK BECZENIE
Innym popularnym również w Polsce sprzętowym syntezatorem mowy było urządzenie o nazwie Apollo. Po jego włączeniu słyszeliśmy coś jakby ciche beknięcie. To znak, że syntezator działa i jest gotów do pracy. Kto używał, ten wie, za co go można było cenić. Dość wyraźna mowa, nawet na dużym przyspieszeniu, na obudowie urządzenia znajdowała się niezależna gałka, którą można było regulować głośność mowy, bez konieczności robienia tego z komputera. Podobnie jak w przypadku SMP, do łączności z komputerem służył kabel szeregowy, wpinany w jeden z portów z tyłu komputera. Oczywiście do obsługi Apollo również trzeba było mieć ScreenReader i to taki, który by uwzględniał kody sterujące syntezatorem. Jestem pewien, że nie mógł być to polski program SCR, gdyż wynikały tam jakieś nieznaczne różnice w kodach sterujących. Zasilanie oczywiście zewnętrzne, gdyż to jeszcze nie czasy portów USB, gdzie komunikacja i zasilanie są realizowane przez ten sam port. Zaletą syntezatora mowy Apollo było to, że w jednym urządzeniu mogliśmy mieć nawet cztery języki, a samo urządzenie mogło mówić w czterdziestu. Więcej szczegółów o tym sprzęcie możemy poczytać pod adresem: https://komputerdlahomera.pl/syntezator-mowy/#content.
KONIEC ERY GADAJĄCYCH SKRZYNEK
Mimo wielu zalet, lepszych, gorszych głosów, mimo syntetyzowania mowy poza komputerem, wejść na słuchawki, niezagłuszania słuchanej muzyki, trzeba przyznać, że sprzętowe syntezatory mowy okres swojej przydatności mają dawno już za sobą. Sam pamiętam, jak kiedyś, siedząc w akademikowym pokoju, rzuciłem do kolegi spontaniczną uwagę – jak dobrze by było doczekać czasów, gdzie to, co gada też by było w komputerze, mówiło przez kartę dźwiękową i nie potrzeba by wozić ze sobą tego morza kabli, kabelków, przejściówek… Do głowy mi nie przyszło, że takie rozwiązanie już puka do drzwi. Tylko otworzyć. Ze sprzętowymi syntezatorami mowy był jeszcze w dawniejszych czasach taki problem, że każde urządzenie miało jakąś tam swoją filozofię kodów sterujących, czyli takich poleceń, które regulowały parametry mowy, a nie były wypowiadane. Program odczytu ekranu ”musiał” znać te kody, aby dało się tę mowę zgłośnić, zwalniać, podwyższać itd. Nie każdy robił to dla tego syntezatora, który mieliśmy, więc najlepiej jak się chciało podłączyć swój syntezator na obcym komputerze, było mieć ze sobą też odpowiedni program odczytu ekranu. Sytuację trochę poprawiał system Windows ze swoją tendencją do stosowania uogólnień w oprogramowaniu. Dwa najpopularniejsze komercyjne ScreenReadery Window-Eyes i JAWS na liście swoich obsługiwanych urządzeń zwykle miały już najpopularniejsze syntezatory mowy. Jednak, gdyby chcieć napisać jakiś własny program, współpracujący z sprzętowymi syntezatorami mowy, oczywiste jest, że trzeba by od producenta zdobyć zgodę i dostęp do kodów sterujących danym syntezatorem. To nie lada kłopot. Tak więc wszystko zaczęło szybko zmierzać do syntezatorów mowy programowych, a najlepiej, gdyby jeszcze sposób komunikacji między programem odczytu ekranu lub jakimkolwiek innym programem a syntezatorem mowy, odbywał się w jakiś określony, ustalony sposób, niezależnie jak to tam się tym steruje.
SAPI
Nadeszła w końcu ta chwila, gdy coraz lepsza nieludzka mowa trafiła pod nasze strzechy. Można napisać nawet więcej, nie dość, że trafiła, to jeszcze została do pewnego stopnia wystandaryzowana tak, aby w końcu z prawie każdego języka programowania, można było napisać aplikację, która może do nas przemówić, nawet jeśli nie jest programem odczytu ekranu. A wszystko za sprawą coraz to nowszych i lepszych wersji interfejsu SAPI. Jego ostatnia zaimplementowana w system Windows wersja nosi numer pięć i na razie nie zanosi się na modyfikacje tego rozwiązania. Samo SAPI ”Speech Application Programming Interface”, nie jest syntezatorem mowy samo w sobie, jest za to mechanizmem, który tworzy pomost między aplikacją, która chce używać mowy a samym syntezatorem mowy. Aby taki syntezator ”dogadywał” się z SAPI musi spełniać pewne wymogi, tak jak i po drugiej stronie aplikacja, która chce korzystać z danego syntezatora mowy, musi robić to w pewien ustalony sposób. Daje to dużą łatwość w tworzeniu rozmaitych aplikacji, mogących do nas przemówić głosem zainstalowanego syntezatora mowy. Przykładem takiej aplikacji jest Balabolka, służąca do czytania tekstu na głos lub zamieniania go w pliki dźwiękowe mp3 lub wav, które możemy potem sobie zabrać na wakacje w odtwarzaczu mp3. Innym pomysłem, który nie ma nic wspólnego z programami odczytu ekranu, są np. odtwarzacze wideo, które mogą za pośrednictwem SAPI przez jakiś ulubiony głos odczytywać nam użytkownikom napisy w filmie, o ile te oczywiście są ładowane z pliku tekstowego. Na temat samych odmian SAPI, technicznych szczegółów odsyłam pod adres: https://en.wikipedia.org/wiki/Microsoft_Speech_API.
NIELUDZKIE GŁOSY ZACZYNAJĄ PRZYPOMINAĆ CZŁOWIEKA
Nadeszła w końcu ta epoka, gdy syntetyczna mowa zaczęła brzmieć bardziej jak człowiek, a mniej jak Terminus, robot z jednego z opowiadań Stanisława Lema. Zdaję sobie sprawę, że o gustach się nie dyskutuje, jeden lubi to, a drugi owo, jednak niezależnie od naszych preferencji, trzeba się zgodzić, że głos Agata, Jacek czy Zosia, brzmią zdecydowanie bardziej przyjaźnie dla ucha niż taki Apollo, SMP czy Espeak. Dzieje się tak przynajmniej z dwóch powodów. Pierwszy z nich to powód ekonomiczny i związany z komercjalizacją danego rozwiązania. Okazuje się bowiem i to nie po raz pierwszy w historii rozwoju technicznych nowinek, że my, czyli niewidomi wcale nie jesteśmy grupą docelową, dla której jest proponowane jakieś rozwiązanie, a niejako przy okazji dostajemy pewien fragment technologii, który okazuje się być przydatny. Dość duże zapotrzebowanie na wyraźne, człowiekopodobne głosy pojawiło się na początku lat milenijnych w wyniku nabierającego tempa rozwoju cyfryzacji i technik informatycznych. Wielu operatorów, choćby sieci telefonicznych zaczęło doceniać rozwiązanie, jakim jest sztuczna mowa, mogąca zastąpić w niektórych sytuacjach człowieka, tnąc im koszty, ale również poszerzając ofertę dla klienta. Sieć komórkowa Plus GSM jako pierwsza w Polsce wprowadza w swoich usługach możliwość odczytania przez automat sms ‘a oraz sztuczne komunikaty w proponowanej klientom poczcie głosowej. Więcej o tym możemy przeczytać w dość już archaicznym artykule pod adresem: https://gsmonline.pl/artykuly/polkomtel-wybral-system-realspeak-firmy-scansoft. Sztuczne głosy mają również zastosowanie przy nauce obcych języków, wszelkiego rodzaju automatycznych zapowiedziach, np. pociągów, przystanków w komunikacji miejskiej, numerków na pocztach, placówkach ZUUS i wielu innych. Gdzieś po drodze tego dążenia do coraz lepszych produktów należy oczywiście umieścić też osoby z niepełnosprawnością wzrokową, gdyż wiele z głosów dostępnych na rynku zagościło również w naszych komputerach. Powód drugi to sama już technologia, skoro pojawiły się lepsze komputery, z większą ilością pamięci operacyjnej, skoro mamy do dyspozycji lepsze karty dźwiękowe, procesory, to czemu nie zaprząc ich do bardziej efektownej pracy względem syntetyzowania ludzkiej mowy? Czemuż by nie upakować większej ilości w lepszej jakości próbek ludzkiego głosu? Najprościej mówiąc za wyraźniejszą, bardziej do człowieka podobną mowę odpowiadają same mechanizmy dzisiejszych syntezatorów mowy, zwane fachowo silnikami. Cały proces został w uproszczeniu pisząc, podzielony na dwa etapy. Pierwszy etap to całkiem zaawansowana matematyka w połączeniu z ”wiedzą\” takiego mechanizmu o zasadach gramatycznych danego języka. Na tym etapie z przesłanego do silnika syntezatora mowy tekstu, wydobywane są reguły gramatyczne i inne mądrości, które mają posłużyć drugiemu etapowi, na którym zapisane próbki głosu będą w odpowiedni sposób łączone w całe frazy i przesyłane do karty dźwiękowej, a poprzez nią będzie można już usłyszeć miły dla ucha, bliski naturalnemu sztuczny głos. Dla ciekawych dodam, że etap pierwszy z języka angielskiego nosi nazwę ”Natural Language Processing”, a drugi ”Digital Signal Processing”. Bardziej szczegółowo jest to wyjaśnione w artykule pod adresem: https://pl.wikipedia.org/wiki/Synteza_mowy. Drugi etap syntezy mowy może być alofoniczny, czyli z małych próbek zapisanego głosu są składane frazy, co daje w efekcie dość syntetyczny głos i wymaga sporej mocy obliczeniowej procesora. Lepszym rozwiązaniem jest zastosowanie metody konkatenacyjnej, która polega na nagraniu dużej porcji materiału z głosem lektora, podzieleniu go na segmenty i odpowiednim ich oznaczeniu. Podczas syntezy głosu, silnik syntezatora mowy odpowiednio je modyfikuje i łączy ze sobą, a w efekcie uzyskiwane jest bardzo naturalne brzmienie ludzkiego głosu.
POPULARNE GŁOSY NA NASZYCH BIURKACH
Nie chciałbym nikogo tutaj urazić, dlatego proszę o wybaczenie, jeśli jakiś ulubiony głos pominę. Pragnę napisać o kilku głosach, które na przestrzeni lat trafiły pod nasze strzechy, a o których moim zdaniem warto wspomnieć. Na pierwszy ogień pójdzie firma Ivo Software, która swój początek ma w Gdańsku. Mało kto wie, że jej udziałem jest produkt, który cieszy się uznaniem i zdobywa nagrody na międzynarodowym rynku. Mowa oczywiście o polskiej firmie, polskim pomyśle i polskim produkcie Iwona. Sam syntezator występował pod różnymi nazwami, jednak ostatecznie kojarzony jest z hasłem IVONA. Doczekał się prócz komercyjnych zastosowań również swojej wersji dedykowanej osobom z dysfunkcją wzroku i myślę, że sporo czytelników cieszyło swoje ucho głosem Jacka. O samym rozwoju firmy i jej sukcesach, póki nie została wykupiona przez zagraniczną korporację, możemy poczytać w artykule pod adresem: https://www.dobreprogramy.pl/@antar/ivona-polski-syntezator-mowy-ktory-podbil-swiat-opowiesc-o-tym-jak-to-sie-stalo,blog,110819. Mało kto wie, że głos Jacek został użyczony przez aktora Jacka Labijaka, który jako jeden z niewielu aktorów może się poszczycić niechlubną sławą największej ilości wypowiedzi z użyciem wulgaryzmów, oczywiście nie osobiście, ale jako rozmaite zabawy użytkowników YouTube z demonstracyjną wersją syntezatora IVONA. Jest to program, który w czasach swojej świetności może mówić czterdzieści czteroma głosami w siedemnastu językach, potrafiącymi przeczytać dowolny tekst. Jeśli chodzi o język polski to, zarówno w wersji współpracującej z Windowsowym SAPI, androidowym mechanizmem zamiany tekstu na mowę, i jako głosy w urządzeniach dedykowanych osobom z dysfunkcją wzroku można śmiało wymienić: Jacka, Maję, Jana i Ewę. Wśród tych siedemnastu języków oczywiście nie zabrakło lokalnego języka kaszubskiego. Niestety dla nas, a korzystnie dla firmy w 2013 roku Ivona Soft trafia w ręce amerykańskiego giganta Amazona, a to głównie ze względu na wysoką jakość swoich produktów i tak mamy Alexę, z której chyba pod strzechami pożytku za wiele nie ma. Firma też zmienia nazwę na Amazon Development Center Poland.
Kolejny głos, który na pewno zapisał się w pamięci czytelników i występował również w wersji Windowsowej, jak i w rozmaitych urządzeniach dedykowanych naszym potrzebą, to produkt firmy Scansoft, która specjalizowała się w rozwiązaniach rozpoznawania dokumentów, mowy i głosów. Chodzi oczywiście o głos Agata. Jest to syntezator o miłym, dość wyraźnym na rozsądnej prędkości głosie, świetnie nadającym się do czytania książek tekstowych. Ma jedną może wadę, otóż, gdy pewnego razu informatyk na studiach pomagał mi udźwiękowić komputer w pracowni informatycznej, abym mógł z niego raz w tygodniu na zajęciach ze statystyki skorzystać, gdy usłyszał Agatę, zakrzyknął – niech pan już wyłączy ten romansowy głos… Może dla niego romansowy, dla mnie normalny, przyzwyczaiłem się. Agata jako głos doczekała się wersji 64-bitowej, na współczesne systemy z rodziny Windows, jak i miała swój czas, gdy działała jako vocalizer dla programu NVDA, JAWS i być może Window-Eyes. Osobiście żałuję, że jej wersja jako vocalizer już nie działa. Producent mógłby moim zdaniem coś w tym kierunku zrobić. Vocalizery to taka jeszcze jedna metoda używania syntezatorów mowy, gdzie nie poprzez SAPI, ale przez własne rozwiązanie, dany program komunikuje się z syntezatorem mowy, np. tylko NVDA.
Kolejny głos, który zawitał pod nasze strzechy, niekoniecznie kryte słomą, to bez wątpienia głos znany, jeśli nie z komputera z systemem Windows, to z urządzenia iPhone o miłej nazwie Zosia. Jest to produkt firmy Nuance, która połączyła się z firmą ScanSoft. Teraz stanowią jedno, a Zosia też ma swoje wersje, zarówno SAPI, jak i Vocalizera, który do pewnego czasu działał dla NVDA, jak i zamiany tekstu na mowę ”TTS”, dla systemu Android i bardziej popularnej, bo wbudowanej wersji dla systemu na telefon firmy Apple. Dla znawców jest wiadome, że to miła dla ucha, zrozumiała w rozsądnych prędkościach synteza mowy, nie obciążająca zbytnio procesora. Wadą może być, podobnie jak dla Agaty, zbytnia interpretacja rozmaitych niuansów tekstu. Więcej o tym syntezatorze mowy możemy przeczytać w artykule pod adresem: https://pl.wikipedia.org/wiki/Nuance_Communications. Tak oto docieramy do kryteriów dobrego syntezatora mowy. Obawiam się jednak, że nasze kryteria i kryteria rynkowe to dwie różne sprawy. Okazuje się bowiem, że do ewaluacji głosu bierze się pod uwagę interpretację kilku rzeczy. Cyfry: czy głos czyta pełne liczby czy tylko pojedyncze cyfry lub pary cyfr. Oczywiste jest dla nas, że czytanie całych liczb jest korzystne, jednak niektóre, te gorsze syntezatory tego nie potrafią. Druga sprawa to interpretacja skrótów. Jest to jakiś wymóg ogólnokrajowy, że dr. jest czytane jako doktor. Jednak w wersji, która ma współpracować z programem odczytu ekranu, uważam, że im mniej interpretacji, tym lepiej, gdyż te interpretacje ma dokonywać program odczytu ekranu, a nie syntezator mowy. W innym wypadku dochodzimy do zabawnych sytuacji, gdy wbudowany w NVDA espeak, czyta ”półkownici” zamiast ”płci” i wiele innych tego typu rzeczy. Swoją drogą szkoda, że darmowy, wbudowany w program odczytu ekranu syntezator jest tak prymitywny w czasach, gdy jak już pisałem ani pamięci, ani mocy procesora nam nie braknie.
NAUCZMY SIĘ MÓWIĆ
Przyszła pora na tak wspaniałe czasy, gdy zwykły wyjadacz chleba komputerowego może się pokusić o własny głos w maszynie. Nie jest bowiem już potrzebna tak zaawansowana wiedza matematyczna i językowa jak przy produkcji głosu Jacka, Mai czy Agaty, nie potrzeba też na to tylu złotówek, co wcześniej. Dziś mamy do dyspozycji silniki, które same się uczą. Ostatnim krzykiem mody i odpowiedziom na brak nowych głosów zdaje się być mechanizm RHVoice, który to pozwala na nauczenie się dowolnego głosu. Znaczące jest tutaj to, że nie trzeba mieć zaawansowanej wiedzy programistycznej, aby tego dokonać. Może to w zasadzie zrobić każdy z poziomu swojego domowego komputera, gdyż ilość informacji, jakie musi przyswoić jest dość skąpa, w porównaniu z programowaniem. Szczegółowa instrukcja jakie komponenty należy mieć i jak ich używać możemy przeczytać pod adresem: https://github.com/RHVoice/RHVoice/wiki/Creating-a-new-voice-for-RHVoice. Najtrudniejszą sprawą w tym przypadku wydaje się być to, że dobrze jest dysponować wysokiej jakości nagraniami ludzkiego głosu. Można tego dokonać osobiście, własnym głosem lub głosem osoby, której chcemy zafundować taką przygodę, wynajmując studio nagrań i tworząc taką bazę fraz audio i ich odpowiedników w plikach tekstowych. Mechanizm bowiem uczy się, analizując próbka po próbce fragmenty nagrań z tożsamymi zbiorami tekstowymi. Więc zdanie: Ala ma kota, pies latał na miotle, podatek wzrasta! – musi być nagrane i mieć taki sam zapis w pliku tekstowym. Silnikowi RhVoice dajemy dużo taki próbek i w efekcie otrzymujemy syntezę ludzkiego głosu, zdolną do czytania przesyłanego do niej tekstu. Tak jak pisałem, po szczegóły odsyłam do wskazanego wyżej adresu, gdyż nie jest moim zamiarem stworzyć tutaj instrukcji obsługi, jak to robić. Pomysł ten jest o tyle wspaniały, że powstają w efekcie dość lekko działające głosy, przy jednoczesnej dużej wyraźności, nawet po znacznym przyspieszeniu syntezy. Oczywiście z samym tembrem głosu należy trochę poeksperymentować, może się bowiem okazać, że nie każdy głos nadaje się do szybkiego lub długiego słuchania. Samym pomysłem zainteresowało się już kilka osób, skutkiem czego mamy nowy głos dla NVDA o miłej nazwie Magda. Jest to jak najbardziej żywa osoba, która udostępniła swój dość charakterystyczny głos do publicznego użytku, pozwalając na stworzenie odpowiednio długiej i pociętej na fragmenty bazy swojego głosu wraz z tekstowymi odpowiednikami, aby RHVoice można było wytrenować w mówieniu jej głosem. Nie jest to Agata ani Zosia, ale jak dla mnie, bo długim zastoju na krajowym rynku z nowymi głosami, zdecydowanie powiało świeżością i innowacyjnością. Są oczywiście tacy, którym ten głos nie odpowiada, ale znowu to napiszę, z gustami się nie dyskutuje. Dla mnie bomba, lepszy niż syntetycznie brzmiący Espeak, nie przekręca wyrazów, da się zrozumieć Magdę nawet jak bardzo szybko mówi, można jej głos podwyższać i obniżać bez specjalnej utraty walorów brzmienia. To wszystko mamy w zasadzie za darmo, co przy produkcji Agaty, Zosi, Jacka i im podobnych mechanizmów kosztowało krocie. Aby użyć syntezatora mowy RhVoice w NVDA, należy najpierw zainstalować dodatek, który jest silnikiem samej syntezy, a potem doinstalować dodatki, które są już głosami. Możemy to zrobić pod adresem: https://www.zlotowicz.pl/synteza/. Na podanej stronie możemy zapoznać się z próbką możliwości głosu Magda, poczytać na temat poprawek i unowocześnień, pobrać sam silnik RhVoice dla NVDA, Androida oraz SAPI. Tak naprawdę na upartego, gdyby nie zależało nam aż tak bardzo na jakości, możemy próbki głosów nagrać w domowym zaciszu na przyzwoitej karcie dźwiękowej, pociąć w dostępnym edytorze audio, spisać tekst, przeczytać instrukcję, jak to się robi, uruchomić odpowiednie narzędzia i trenować, trenować RhVoice aż do skutku. W efekcie powinniśmy uzyskać niezbyt obciążający komputer głos, który do swojego działania łączy w sobie matematykę, statystykę i próbki głosu, dając w efekcie coś co ładnie mówi, szybko działa i nie zaśmieca zasobów komputera tak jak np. Agata. Dla mnie głos Magdy, ku mojemu zaskoczeniu brzmi naprawdę bardzo naturalnie i podobnie do żywej użytkowniczki swojego głosu.
OSTATNI KRZYK MOWY
Ostatnim krzykiem mody na generowanie głosów nieludzkich brzmiących ludzko nie jest już programowanie w tradycyjnym tego słowa znaczeniu, ale uczenie wyspecjalizowanych sieci neuronowych. Piszę o tym, jako o ciekawostce, więc próżno tu szukać konkretów czy przepisów, jak to zrobić. Fakt jednak jest faktem, na odpowiednio nowoczesnej karcie graficznej, co może wydawać się dziwne, jesteśmy w stanie zaimplementować sztuczną sieć neuronową i ją szkolić. Jest to wygodne z takiego względu, że akurat karty graficzne mają mnóstwo układów, zdolnych wykonywać proste czynności, na których wygodnie jest symulować procesy udające pracę neuronów. Oczywiście nie mamy tu już wiedzy co dzieje się w przysłowiowej ”czarnej skrzynce”, czyli jakby mózgu symulowanym na naszej karcie. Efekty natomiast są ciekawe. Można bowiem taką sieć nauczyć mówić dowolnym głosem, w sposób bardzo naturalny i zbliżony do oryginału, byle podobnie jak w przypadku RhVoice i głosu Magda mieć sporą dozę materiału treningowego. System, który daje nam takie możliwości nosi nazwę Tacotron 2, a o szczegółach i parametrach technicznych możemy przeczytać więcej w artykule https://pytorch.org/hub/nvidia_deeplearningexamples_tacotron2/. Przyznam szczerze, że słysząc możliwości tak wytrenowanych głosów, czekam z niecierpliwością, aż system się upowszechni i stanie się dostępny również i dla nas. Miło by było mieć w komputerze głos ulubionego aktora czy aktorki. Jeśli chodzi o próbkę możliwości takiego systemu odsyłam do serwisu YouTube i popróbowanie z hasłami ”sztuczna mowa”, ”Tomasz Knapik”, czy ”Tomasz Knapik czyta Pastę o Fanatyku Wędkarstwa”. Uprzedzam jednak, że podobnie jak z głosem Jacek, publikowane treści i w tym przypadku bywają nie cenzuralne, co zdaje się wyjątkowo cieszyć użytkowników YouTube.
PODSUMOWANIE
Jak widzimy, droga do ludzkich głosów w maszynach była długa i na pewno nie tania. Doczekaliśmy jednak czasów, gdy obecna technologia daje nam możliwość nie tylko cieszenia ucha miłym brzmieniem, choćby głosem Magdy, ale też niewiele kosztuje i pozwala na własną kreatywność w tym zakresie. Kiedy zaczynałem własną przygodę z komputerem i systemami firmy Microsoft, do głowy mi nie przyszło, że nadejdzie taka chwila, gdy ludzkiej mowy maszyna będzie się uczyć, zamiast ją programować. Mam tylko nadzieję, że człowiek, jak to ma w zwyczaju, nie będzie nadużywał tej technologii w głupich lub szkodliwych zamiarach, a z drugiej strony, że sztuczne inteligencje jeszcze długo nie będą na tyle inteligentne, aby się mogły uczyć bez naszej wiedzy i aktywnego zaangażowania.
Tomasz Amsolik