Gadający komputer - czyli jak korzysta z komputera osoba słabowidząca
Witam wszystkich Wstęp – coś nudnego co można ominąć i nie czytać ;‑)
Nazywam się Marek vel marson i chociaż portal DobreProgramy odwiedzam od dawna jakieś 5 lat – no nie wiem w każdym razie relacje z HotZlotu w Rynie już oglądałem z zapartym tchem ;P – to dopiero wpis Arkadiuszzza traktujący o korzystaniu z komputera przez osoby niepełnosprawne natchnął mnie do napisania swojego pierwszego tekstu na DobrychProgramach i jednego z nielicznych (pomijając prowadzoną przeze mnie WWW) napisanych w ogóle w sieci więc proszę o wyrozumiałość.
Screen Reader, SAPI, syntezator i inne dziwactwa czyli trochę teorii zanim zaczniemy
Do wykorzystania komputera przez osobę niewidomą na 100% potrzebne są dwie rzeczy, pierwsza i najważniejsza to screenreader, jest to program, który analizuje to co dzieje się na ekranie i przekazuje wyniki do syntezatora mowy na czym to dokładniej polega? Na tym, by opisać ekran tak by osoba, która nic nie widzi wiedziała co jest widoczne na ekranie, dla przykładu gdy uruchomimy darmowy screenreader NVDA i przejdziemy w dowolny sposób np. na ikonę Komputer na pulpicie usłyszymy Komputer, gdy teraz przykładowo naciśniemy prawy klawisz Windows usłyszymy Kontext menu oraz liczbe pozycji po których możemy się poruszać np. za pomocą strzałek, po zaznaczeniu pozycji w menu usłyszymy jej nazwę oraz w zależności od menu i konfiguracji NVDA także skrót klawiaturowy do danej opcji, to tylko przykład ale podobnie sprawa się ma z innymi elementami interfejsu np. checkboxami, czy radiobuttonami, wtedy też usłyszymy jego nazwę oraz np. stan obiektu zaznaczony lub nie zaznaczony. Syntezator mowy natomiast to głos, którego screenreader lub inny program zgodny ze standardem SAPI (o tym za chwile użyje by przekazać informacje użytkownikowi) Ostatnim elementem układanki jest standard SAPI (Speech Application Programming Interface – jest to warstwa pośrednicząca pomiędzy głosem syntezatora mowy a programem, w któtym chcemy by był on użyty, jeśli dany program wykorzystuje standard SAPI np. screenreader i głos, który wykorzystujemy np. ivona, espeak czy jakikolwiek inny też jest zgodny z SAPI to możemy przekazać z programu do głosu jakieś zmienne – np. informacje o dostępnych na elementach na ekranie lub nowych wiadomościach w mirandzie . Pewnie teraz programiści się ze mnie śmieją odnośnie terminologii jakiej używam, ale ani nie jestem programistą ani też nie wiem jak to inaczej opisać
Poczytaj mi mamo – czyli jak to się zaczęło
Jestem osobą słabo widzącą, nie to, że nie widzę ludzi na ulicy czy drzew na drodze ale już przeczytanie 1 kartki A4 pokrytej drukiem 12 czy 14 pt to już wyczyn, po którym czuję się jak po kilku głębszych na drugi dzień :) Jak sobie radzić w takim razie z czytaniem tego co jest na komputerze? Już wyjaśniam, kiedy dostałem swój pierwszy komputer był to demon szybkości z procesorem 286 chyba 6 czy 12 MHZ, RAM‑em na poziomie 640 KB i ogromnym dyskiem 20 MB. Na tak „wypasionym” sprzęcie w zasadzie nie można mówić o jakimkolwiek wspomaganiu dla słabo widzących dlatego jedynym moim czytnikiem ekranu i syntezatorem mowy była moja mama, do spółki z tatą, babcią czy kto był w danej chwili pod ręką, Pominę w swej opowieści etap syntezatorów sprzętowych pracujących w DOSie i podpinanych do portu LPT bo za wiele to ja z nich nie korzystałem i znam je bardziej z opowieści niż z własnych doświadczeń
Minęło kilka lat i siwych włosów przybyło i dorobiłem się komputera z Windowsem 95. No to pięknie myślę sobie dali mi jakiegoś białego gryzonia co myszą się zowie i każą klikać po ikonkach wielkości znaczka pocztowego, mamoo ja chce swojego DOSa i nortona commandera buu ;) taka mniej więcej była moja reakcja na system z Redmond przynajmniej na początku.
I stał się SynTalk – początki syntezy mowy w Windows
Gdzieś tak ok roku 1996 zakupiłem gazete Chip wraz z płytą na której było zamieszczone demo chyba pierwszego polskiego syntezatora mowy – programu SynTalk firmy Neurosoft (Ta firma istnieje do dziś z tym, że synteza mowy choć nie jest całkiem przez nich porzucona to jednak nie jest ich głównym zajęciem w tej chwili) Programik zamieszczony na płytce chipa był w wersji demo, która czytała chyba o ile pamiętam pierwsze 1000 znaków ale co mi tam ja miałem czas i jak trzeba to porcjowałem i kilka stron po te 1000 znaków. Dopiero gdzieś tak z rok czy 2 lata później zdobyłem (a ponieważ to portal o legalnym oprogramowaniu to przemilcze jak – zdobyłem i już) pełną wersję SynTalka no i stał się raj czytałem wszystko, począwszy od plików pomocy Windows a skończywszy na plikach readme instalowanych aplikacji – po co – w zasadzie nie wiem, może częściowo chciałem się czegoś nowego dowiedzieć a częściowo chciałem się cieszyć tym, że mogę sam poznawać treści bez pośrednictwa innych osób
Historii ciąg dalszy czyli marson dostaje internet
Gdzieś tak w 2 lata po rozpoczęciu mojej przygody z SynTalkiem dorobiłem się (a raczej rodzice dorobili mi się) dostępu do Internetu via modem i sławny numer 202122 (on jeszcze działa?) oczywiście szał – wiadomo, coś nowego, innego ale po za wszystkim dostęp do niezmierzonej ilości tekstów, wiedzy, oczywiście nadal poprzez SynTalk. Zacząłem m.in. ściągać pierwsze ebooki, dowiedziałem się też że jest coś co się nazywa OCR i, że można dzięki temu skanować książki jako tekst, więc już chyba wiecie co chciałem na urodziny? No tak moi drodzy – skaner chciałem ;) I tu na chwilę przerwę opowieść o podróży w przeszłość a opowiem co nieco o samej pracy z uwczesnym szczytem marzeń czyli właśnie SynTalku .
Polubić robota czyli praca z syntalkiem na co dzień
Warto w tym miejscu od razu powiedzieć, że SynTalk jest programem dość starym i choć naprawde pionierskim jak na tamte czasy to niestety bardzo sztucznym, mowa jego nie była w żaden sposób intonowana, nie było najmniejszych nawet prób akcentu czy respektowania znaków przestankowych w zdaniach, ktoś powie – toż to mordęga jakaś a ja powiem… „Jak się nie ma co się lubi to się lubi co się ma” Na tym programie przebiłem się przez serię o Harry Potterze, kryminały książki podróżnicze a nawet o zgrozo dokumentacje techniczne w. j. angielskim i teraz wyobraźcie sobie czytać np. fragment tekstu w następujący sposób:
„hasz hasz hasz To Compie the application please type the following kropka slesz configure ampersant ampersant make ampersant ampersant make install hasz hasz hasz hasz.
Przypominam, że to program obsługujący jedynie język polski bez jakichkolwiek opcji słownika czy interpretacji nie polskich tekstów. Jak odbywała się sama praca z synTalkiem? SynTalk w wersji, którą ja miałem, później już oficjalnie na dyskietce i z certyfikatem ;) to program stand-alone prościej mówiąc ten program miał takie możliwości jakie dał mu producent i nie można wykorzystać głosu po za to co dał nam producent,gdyż wersja SynTalka, którą ja posiadałem nie była zgodna z opisywanym wyżej standardem SAPI. Więc co nam dał twórca SynTalka? Stosunkowo nie wiele bo tylko odczyt tego co jest w schowku + kilka opcji do ustawienia np. możliwość włączenia lub wyłączenia czytania liczb . To czego nie dało się zrobić to np. nie było możliwości odczytywania wpisywanych znaków z klawiatury czy choćby brak możliwości zintegrowania tego rozwiązania z zewnętrznymi programami.
Spiker – czyli robot II generacji
Następnym programem jakiego używałem przez czas dłuższy był program spiker autorstwa firmy ivona software, tej samej, która obecnie wydaje ivonę o której dalej. Spiker w przeciwieństwie do SynTalka to już program napisany w standardzie SAPI o korzyściach z tego płynących pisałem wcześniej. Przykładowo byłem już w stanie podłączyć syntezę do komunikatora GG więc jeśli ktoś do mnie pisał teksty wiadomości były odczytywane, podobnie mogłem w końcu podpiąć syntezę do odtwarzacza do filmów i spokojnie oglądać filmy z napisami, dotatkowo sama jakość mowy jest znacznie lepsza niż w przypadku SynTalka, obsługiwany jest też prosty słownik bazujący na wyjątkach więc można przynajmniej częściowo sprawić by język był bardziej ingliszowy niż englishowy i tak Windows stał się w końcu łindołsem a Microsoft majkrosoftem, inną zaletą w porównaniu do synalka była też możliwość zmiany prętkości mowy bez zmiany jej tonacji, poprzednio zwiększając szybkość mowy nasz SynTalk’owy robocik w pewnym momencie najadł się helu i efekt był jeszcze bardziej groteskowy. Pisząc o spikerze warto wspomnieć, że od niedawna firma ivona software udostępnła spikera całkowicie za darmo w ramach projektu Dicomp Transfer, mający na celu popularyzacje użycia komputera wśród osób niewidomych, dodatkowo oprucz samego głosu spiker dostajemy darmowy screenreader o nazwie Thunder. Zainteresowanych zapraszam na oficjalną stronę projektu pod tym adresem.
Synteza mowy dziś
To co opisałem powyżej to raczej rys historyczny tego jak kiedyś wyglądała kwestia syntezy, teraz chciałbym opisać jak dziś u mnie wygląda praca z komputerem. Przede wszystkim podstawowym narzędziem pracy dla mnie jest program ivona 2 z głosami Jacek – często znany na wszelakich filmikach, głównie tych paodjujących coś / kogoś – oraz głos angielski Jennifer, dzięki czemu teksty anglojęzyczne mogę słuchać tak jak się to powinno robić, przy obecnym rozwoju syntezy mowy jestem w stanie podłączyć syntezę pod mirandę (czyli klienta GG) – teraz mam czytane wiadomości, oraz w razie potrzeby opisy statusów. Podobnie sprawa wygląda ze skype, oczywiście oglądanie filmów z napisami także nie stanowi problemu gdyż mogę bez problemu zintegrować syntezę z playerem do filmu. Obecnie są nawet możliwości zapisu mowy do pliku co umożliwia np. słuchanie książki na odtwarzaczu mp3. Nie wspomniałem jeszcze jak teraz odczytuje teksty. Podobnie jak kiedyś teraz też podstawą jest odczytywanie tekstu poprzez schowek systemowy (pomijając oczywiście napisy do filmów, skype czy mirandę – w tych wypadkach wszelkie treści są czytane z automatu). Co jednak zrobić gdy pewnych elementów po prostu nie da się skopiować do schowka np. treści okien dialogowych? Ja mam na to 2 sposoby albo zczytać tekst z okna dialogowego i wyświetlić go już w formie, która da się umieścić w schowku, używam w tym celu programu HypwerSnap, albo skorzystać ze screen leadera, czy to opisywanego już NVDA czy choćby Thunara, o którym wspomniałem. Jeśli i to zawiedzie korzystam z narzędzi powiększających jak choćby standardowa lupa w systemie czy bardziej zaawansowanego Lunara.
”To już jest koniec nie ma już nic” czyli podsumowanie
Jak na pierwszy wpis na DP to wyszedł on mocno długi, mam nadzieje, że chociaż jedna osoba go przeczyta ;) zapraszam do komentowania i zadawania pytań jeśli są, postaram się na nie odpowiedzieć a jeśli będzie zainteresowanie to napisze coś więcej np. o konfiguracji syntezy mowy w Linuksie albo o pracy z syntezą mowy na androidzie lub symbianie bo też się da.