Podstawowe problemy wprowadzania głosowej informacji do komputera (zewnętrzne, akustyczne, techniczne, metodologiczne, ekonomiczne).
Dostępne na rynku oprogramowanie do głosowej komunikacji człowieka z komputerem i wymagania sprzętowe.
Wprowadzanie sygnału mowy do systemu jej rozpoznawania.
Systemy rozpoznawania mowy można podzielić na cyfrowe, analogowe oraz hybrydowe, przy czym kryterium podziału tkwi w naturze sygnału wewnątrz systemu. Sygnał wejściowy jest bowiem zawsze sygnałem analogowym. Sygnał zaś wyjściowy (wynik rozpoznania) jest cyfrowy. A zatem wprowadzany sygnał mowy musimy rozpatrywać tutaj w postaci analogowej, czyli takiej jaka jest na wyjściu przetwornika elektroakustycznego.
Metoda analogowa wprowadzania informacji do komputera
Wstępne analogowe przetwarzanie sygnału mowy można zrealizować do etapu filtracji dolnoprzepustowej, odcinającej wszystkie składowe sygnału powyżej częstotliwości Nyquista w celu uniknięcia nakładania się widm. Po tym filtrze może znajdować się już układ przetwarzania analogowo-cyfrowego. Pełny sygnał, bez żadnych zmian i korekt, może być przesłany do komputera, dokonującego wszystkich dalszych niezbędnych transformacji.
Rys.1 Najprostszy system wprowadzania mowy do komputera.
Taka droga postępowania charakterystyczna jest dla systemów, w których mamy do dyspozycji dużą moc obliczeniową i możemy ją bez ograniczeń angażować dla potrzeb systemu rozpoznawania mowy. Istota problemu tkwi w ogromnej objętości informacyjnej sygnału mowy. A zatem schemat przetwarzania przedstawiony na rysunku stawia przed częścią cyfrową systemu bardzo wysokie wymagania, które jeszcze przed - dajmy na to - kilkunastu laty, nie mogły być spełnione, a już na pewno nie w stopniu satysfakcjonującym ekonomicznie.
Problemy zewnętrzne i akustyczne przy wprowadzaniu mowy do komputera.
Procesy odbioru informacji dźwiękowej przez komputery, ze względu na sam sygnał mowy, muszą nawiązywać do zjawisk wiążących się z naturalnym sposobem wytwarzania i percepcji mowy przez człowieka. Podstawową przyczyną jest struktura akustyczna sygnału mowy. Analogie słyszenia komputera i człowieka mają raczej charakter umowny, symboliczny, co jest szczególnie widoczne po przejściu sygnału przez układ analogowo-cyfrowy. Do podstawowych bloków odpowiadających za kolejne fazy przetwarzania sygnału odbieranego przez komputer należą:
mikrofon - przetwarzający zmiany ciśnienia akustycznego na sygnał elektryczny,
układy przetwarzania wstępnego - tj. wzmacniacz, filtr pasmowy,
przetwornik A/C - zmieniający ciągły sygnał elektryczny (analogowy) na ciągi zakodowanych wartości cyfrowych.
Funkcję przetwornika elektroakustycznego spełnia mikrofon. Przetwarzanie elektroakustyczne to zamiana energii fali dźwiękowej na energię sygnału elektrycznego. O ile przetwarzanie energii elektrycznej na mechaniczną i akustycznej na mechaniczną, oraz odwrotnie - odbywa się bezpośrednio, to zamiana energii akustycznej na elektryczną (i odwrotnie) musi postępować za pośrednictwem energii mechanicznej. Jednym z najważniejszych parametrów mikrofonu jest jego skuteczność. Jest to wielkość i jednocześnie podstawowa cecha, która określa ilościowo proces przetwarzania elektroakustycznego, wskazując na wartość otrzymanego efektu elektrycznego w stosunku do wartości ciśnienia akustycznego.
Bardzo ważnym zagadnieniem związanym z wprowadzaniem informacji akustycznej zarówno w przypadku ARM jak i ARG jest wpływ otoczenia akustycznego na skuteczność procesu "słyszenia" i rozpoznawania.
Jednym z najważniejszych problemów jest nakładanie się szumów otoczenia na sygnały akustyczne mowy. Jeżeli w systemie wykorzystywany jest szerokopasmowy mikrofon o dużej czułości to naturalnym jego następstwem jest odbieranie wszystkich dźwięków z bezpośredniego otoczenia operatora systemu. Istnieją 2 sposoby rozwiązania tego problemu:
Usunięcie interferencji dźwięków przez umieszczenie operatora w akustycznie ekranowanym pomieszczeniu.
Aby ten sposób był skuteczny , szumy otoczenia muszą być tak zredukowane, by ich poziom był nieszkodliwy dla sygnałów akustycznych. Jednakże akustyczne odizolowanie wprowadza ograniczenie polegające na istotnym zmniejszeniu możliwości poruszania się operatora i zwykle wiąże się z wyeliminowaniem możliwości wykonywania przez niego innych funkcji . Wiele pożytecznych zastosowań, w których wykorzystanie systemu staje się ekonomicznie uzasadnione, wymaga jednak od operatora wykonywania wielu czynności, częstokroć jednocześnie.
Wyeliminowanie szumów w samym mikrofonie.
Zastosowanie przyustnych mikrofonów eliminujących szumy i mikrofonów kontaktowych, np. laryngofonów, pozwala osiągnąć dobry poziom zabezpieczenia otoczenia przed szumami. Mikrofon kontaktowy nie reaguje jednak na niektóre właściwości głosek bezdźwięcznych, ograniczając w ten sposób możliwości funkcjonowania systemu mowy oraz zniekształcając przekazywanie cech osobniczych dla ARG. Może on również wprowadzać dodatkowe zniekształcenia, wynikające z ruchów ciała operatora. Tak więc optymalnym kompromisem pomiędzy wysoką jakością sygnałów mowy i ograniczeniem szumów otoczenia staje się mikrofon przyustny, zamocowany na lekkiej opasce nagłownej. Jednak i to rozwiązanie nie jest doskonałe. Trzeba bowiem pamiętać o szumach wnoszonych przez oddech operatora (np. w sytuacji zmęczenia lub zdenerwowania). Stwierdzono, że istnieje tendencja do wydechu na końcu wypowiadanego słowa i wdechu na początku. O ile wdech nie powoduje istotnych podmuchów powietrza w kierunku mikrofonu, o tyle wydech może wywołać w mikrofonie sygnał o poziomie porównywalnym z poziomami użytkowych sygnałów mowy.
Kolejnym etapem we wprowadzaniu informacji głosowej do komputera jest przetwarzanie wstępne.
Przetwarzanie wstępne, będąc częścią procesu obróbki sygnału mowy, powinno być stosowane z uwzględnieniem informacji o parametrach sygnału na wyjściu przetwornika oraz o dalszych wymaganych metodach analizy. Przetwarzanie wstępne ma na celu przystosowanie sygnału w sposób jak najmniej skomplikowany i tani do dalszych operacji przetwarzania i analiz. Może obejmować zarówno dziedzinie czasu jak i dziedzinę częstotliwości. Przykładem przetwarzania wstępnego w dziedzinie czasu jest wybór ("wycinanie") odcinków sygnału, o których wiadomo a priori, że są nieużyteczne dla dalszych analiz lub zawierają zbyt wiele wartości składowych zakłócających. Realizacja tej procedury jest możliwa w przypadku analizy przeprowadzanej nie w czasie rzeczywistym , lecz z wykorzystaniem pośrednich nośników sygnału, np. magnetofonów. Niekiedy do procedur wstępnego przetwarzania zalicza się dyskretyzację sygnałów analogowych. W systemach ARM przyjmuje się że przetwarzanie wstępne będzie obejmować postać analogową systemu. Dla tak określonego zakresu wstępnego przetwarzania zasadnicze znaczenie mają:
wzmocnienie sygnału (realizuje się za pomocą typowych układów wzmacniaczy)
filtracja analogowa (pozwala w prosty sposób na wyselekcjonowanie użytecznych pasm częstotliwości sygnału mowy)
Inne bardziej wyrafinowane metody i techniki wstępnej obróbki sygnału:
usuwanie echa
normalizacja amplitudy
filtracja adaptatywna do redukcji szumów
Filtracja jest jedną z ważniejszych metod przetwarzania i analizy sygnałów. Umożliwia bowiem realizację wielu celów obróbki sygnałów takich jak:
ograniczenie szerokości pasma
polepszenie stosunku sygnału do szumów
wygładzanie sygnału
wykrywanie zjawisk objawiających się zmianami widma
filtrację antyaliasingową, zapobiegającą zniekształceniom, które mogłyby powstać w trakcie przetwarzania A/C, gdy górne częstotliwości sygnału są wyższe niż 1/2 częstotliwości.
Przetwarzanie sygnału mowy na postać cyfrową.
Kolejnym etapem procesu komputerowego przetwarzania sygnału mowy, po analogowych najczęściej procedurach wstępnej obróbki, jest wprowadzenie sygnału mowy do pamięci komputera. Jest to etap o zasadniczym znaczeniu, ponieważ sposób reprezentacji danych w komputerze jest wysoce abstrakcyjny i mało kojarzący się z rzeczywistością otaczającego nas świata przyrody. Ponieważ pamięć komputera składa się z tzw. komórek, w których można umieścić kody reprezentujące np. liczby z określonego przedziału wartości, odwzorowane z określoną dokładnością. Ponieważ sygnał mowy jest przebiegiem ciągłym, trwającym określony czas i przyjmującym wartości napięcia z mikrofonu zmieniające się też w sposób ciągły, to występuje oczywista konieczność przetworzenia informacji z postaci ciągłego sygnału do postaci kodów komputerowych. Przetwarzanie to składa się na ogól z 3 etapów:
próbkowania czyli dyskretyzacji czasowej sygnału
dyskretyzacji amplitudowej czyli inaczej kwantyzacji
kodowania sygnału do postaci akceptowanej przez komputer
Realizację przetwarzania uzyskuje się za pośrednictwem przetwornika A/C, który przetwarza wejściowy sygnał elektryczny w sygnał cyfrowy , będący sekwencją liczb aproksymujących (przybliżających) odpowiednie próbki sygnału wejściowego.
Budując np. system rozpoznawania mowy trzeba więc uporać się z obszerną listą problemów. Do wyznaczenia tej listy należy również spojrzeć na proces rozpoznawania mowy z punktu widzenia teorii systemów i wyróżnić w nim kilka hierarchicznie powiązanych poziomów.
Rys.2 Hierarchicznie powiązane poziomy percepcji mowy.
Rozpatrując problem wprowadzenia informacji głosowej do komputera najbardziej interesuje nas najniższy podstawowy poziom akustyczny, na którym pozyskiwana jest informacja o rozpoznawanym sygnale dźwiękowym. Powstają przy tym następujące problemy:
W jakiej postaci należy sygnał wprowadzić do systemu?
Jeśli sygnał ma być wprowadzony bezpośrednio w formie przebiegu czasowego
to jak szerokie powinno być rozważane pasmo częstotliwości i wynikająca z niego częstotliwość próbkowania sygnału?
z jaką dokładnością odwzorowywać amplitudę sygnału, czy stosować równomierny czy poddany kompresji rozkład poziomów dyskretyzacji amplitud?
jaką zastosować technikę kodowania?
czy i w jaki sposób dokonać preemfazy sygnału?
jeśli sygnał jest wprowadzany w postaci przetworzonej, to jaka ma być reguła tego przetwarzania, aby nie tracić istotnej informacji, a równocześnie nie ograniczyć informacyjnej pojemności sygnału, utrudniającej jego zmieszczenie w pamięci systemu rozpoznającego lub/i transmisję przez kanały telekomunikacyjne?
Jeżeli przetwarzaniem, o którym mowa w punkcie 3, jest transformacja widmowa, to jak jej dokonywać
analogowo z wykorzystaniem filtrów?
cyfrowo za pomocą algorytmu FFT?
Ile powinno być i jak winny być rozmieszczone wyróżnione pasma częstotliwości?
Jak dobrać czas całkowania sygnału w poszczególnych pasmach?
Z jaką częstotliwością próbkować sygnały na wyjściach poszczególnych filtrów?
Problem wyboru najistotniejszych parametrów sygnału mowy i ich ekstracji.
Niezależnie od formy, w jakiej został wprowadzony do systemu rozpoznającego, sygnał mowy musi być przetworzony do postaci zbioru cech, których wartości będą podstawą procesu segmentacji sygnału i rozpoznania jego elementów. Wybór tych cech w zasadniczy sposób wpływa na efektywność procesów rozpoznawania.
Wyniki badań fizjologicznych wskazują na szczególne znaczenie w systemie słuchowym człowieka maksimów widma chwilowego, które pozwalają preferować w charakterze cech wartości częstotliwości formantów, przy czym wydaje się, że wystarczające mogą być wartości trzech pierwszych formantów.
Przyjmując, że niezbędna informacja, którą chcemy wprowadzić do komputera mieści się w charakterystyce amplitudowo-częstotliwościowej sygnału mowy, oraz zakładając, że do określenia charakterystyki posłużymy się zestawem filtrów analogowych, pozostaje nadal wiele pytań szczegółowych, na które należy udzielić odpowiedzi, zanim dokończy się projektu systemu wprowadzania mowy do komputera. Są to między innymi następujące zagadnienia:
Ile pasm częstotliwości zamierzamy wyróżnić?
Czy mają być one rozłożone liniowo, czy w sposób logarytmiczny (stała szerokość pasma, czy stały stosunek szerokości do częstotliwości środkowej pasma)?
Jak szerokie zastosować okno czasowe i jakim rodzajem okna się posłużyć?
Jaką przyjąć metodę demodulacji sygnału (prostowanie dwupołówkowe, podnoszenie do kwadratu, detekcja impulsowa itp.)?
Jak dokonywać uśrednienia sygnału (liniowo, wykładniczo czy według innej funkcji wagowej)oraz jaki ma być czas uśredniania sygnału?
Jak często próbkować sygnały wyjściowe używanych filtrów?
Jaka dokładność amplitudową zapewnić przy przetwarzaniu sygnałów wyjściowych z filtrów (ile przyjąć poziomów dyskryminacji amplitudy i jak je rozmieścić - równomiernie, czy według zasady gęściejszego obsadzenia poziomów o niższych amplitudach)?
Jak rozmieszczać informację o sygnale mowy w pamięci komputera (czy przeznaczać 1 komórkę lub bajt na pojedynczy odczyt amplitudy sygnału w pojedynczym paśmie częstotliwości w jednym ustalonym momencie czasu, czy też "upakowywać" informację na pojedynczych bitach słowa maszynowego)?
Jakich kodów użyć do rejestracji odczytów z poszczególnych filtrów (naturalnych binarnych, Graya, z zabezpieczeniem przed przekłamaniami czy bez nich)?
Ile bitów przeznaczyć na zapamiętanie pojedynczego kwantu informacji.
Trzeba mieć także na uwadze bardziej szczegółowe zagadnienia czysto techniczne:
Wybór techniki realizacji filtrów
bierne czy aktywne
rezonansowe czy drabinkowe
LC czy RC
Wybór metod uśredniania
analogowe
cyfrowe
Wybór konkretnego typu używanego konwertera
bezpośredni
wagowy
całkujący
kombinowany
Sposób zastosowania konwertera
jeden konwerter dla wszystkich filtrów
w każdym torze oddzielny konwerter
Odpowiedzi na powyższe pytania - determinujące strukturę i działanie zbudowanego systemu - wynikają z głębokiej analizy własności sygnału, podlegającego przetwarzaniu, z rozważenia pozostających do dyspozycji możliwości sprzętowych (zarówno w zakresie używanego komputera, jak i w zakresie aparatury analogowej, którą po odpowiedniej adaptacji zamierzamy wykorzystać w torze wstępnego przetwarzania mowy), a także z osobistych preferencji badacza prowadzącego próby rozpoznania. Spróbujmy więc zastanowić się nad odopwiedzią na choćby pierwsze z powyższych pytań, a mianowicie ile pasm częstotliwości należy wyróżnić?
Liczba wyróżnianych pasm częstotliwości jest najważniejszym parametrem. Proponowana niekiedy liczba 5-ciu pasm jest niewystarczająca, pomimo że jest to najmniejsza liczba pozwalająca wykrywać obecność lub brak trzech pierwszych formantów. Mała wydaje się nawet liczba kilkunastu pasm częstotliwości proponowana na podstawie doświadczeń z wokoderami pasmowymi. Praktyka wykazuje, że dla systemu mowy niezbędna jest rozdzielczość odpowiadająca blisko stu wydzielonym pasmom częstotliwości. Przy większej liczbie pasm zwiększa się objętość informacyjna sygnału, a zarazem oddala podstawowy cel stosowania analizy, a mianowicie jej ograniczenie. Z kolei przy nawet wyraźnie mniejszej liczbie pasm mowa jest zrozumiała dla człowieka, natomiast ilość informacji jest zbyt mała do zidentyfikowania mowy przez komputer.
Dostępne na rynku oprogramowanie do głosowej komunikacji człowieka z komputerem i wymagania sprzętowe.
Najważniejszymi i najbardziej znanymi na rynku aplikacjami do rozpoznawania mowy ciągłej są: Dragon Naturally Speaking, rodzina produktów z serii ViaVoice IBM-a oraz Voice Xpress Plus belgijskiej firmy Lernout&Hauspie a także pakiet FreeSpeech 2000 firmowany przez Phillipsa. Jeśli zaś chodzi o polskojęzyczne aplikacje to wybór jest znikomy. Na rynku mamy w zasadzie tylko jeden program pozwalający na głosową komunikację z komputerem w języku polskim. Jest to Lektor 4.2 firmy Drive, którego wersję demonstracyjną można ściągnąć spod adresu http://free.polbox.pl/d/drive/lektor_demo.zip
Wymienione aplikacje wymagają (minimum) procesora Pentium taktowanego z częstotliwością 133-166 MHz. W skład każdego pakietu wchodzi specjalny mikrofon, dający najlepsze efekty w pracy z tego typu aplikacjami. Wymagania odnośnie do pamięci operacyjnej są zmienne i zależą przede wszystkim od środowiska, w którym program ma pracować (32 MB RAM dla systemu Windows 95 lub 48 MB RAM dla Windows NT) oraz od wersji językowej (podane informacje dotyczą edycji angielskojęzycznych). W przypadku pakietów rozpoznających mowę np. niemiecką roszczenia pamięciowe rosną o kolejne 16-32 MB. Dzieje się tak ze względu na specyfikę języka naszych zachodnich sąsiadów; główny kłopot sprawiają tu wyrazy złożone. Rozpoznanie, czy chodzi tutaj o dwa lub więcej następujących po sobie oddzielnych słów, czy też o jeden będący ich językowym "zlepkiem", jest problemem trudnym i dopiero analiza kontekstowa pozwala programom na definitywne rozstrzygnięcie, o jakie słowa chodzi.
Przed rozpoczęciem pracy z programem należy przeprowadzić trening, którego rezultatem jest dopasowanie się systemu do specyficznych cech głosu użytkownika. Nauka polega na wyrecytowaniu wielu zdań. Łączny czas ich trwania nie może być krótszy niż 15 minut. Po zakończeniu ćwiczeń można przystąpić do pracy. Niemal regułą jest możliwość wielokrotnego powtarzania takiego treningu - za każdym razem z innym, wybranym przez producenta tekstem - co może istotnie wpłynąć na poprawę jakości rozpoznawania (w przypadku programów anglojęzycznych nawet do ok. 98%).
Nie jest żadną tajemnicą, że badania nad technologią komputerowego rozpoznawania mowy prowadzone były od kilku dziesięcioleci; wszak pierwsze prace w tej dziedzinie pojawiły się na długo przed skonstruowaniem pecetów! Powstaje zatem pytanie: jakiego rodzaju przełom dokonał się w ciągu ostatnich kilku lat, że możliwe stało się stworzenie oprogramowania pozwalającego na rozpoznawanie mowy ciągłej...? Odpowiedź jest zaskakująca. Okazuje się, że w ostatnich latach nie został dokonany - jak można by przypuszczać - żaden przełom! Najistotniejszym czynnikiem, który miał największy wpływ na powstanie aplikacji rozpoznających mowę ciągłą, był bowiem po pierwsze:
Wzrost wydajności komputerów klasy PC. Pojawienie się na rynku procesorów Pentium taktowanych z częstotliwością ponad 100 MHz pozwoliło producentom stworzyć przeznaczone dla masowego odbiorcy narzędzia dopiero parę lat temu.
Drugim, równie istotnym czynnikiem był spadek cen pamięci operacyjnych, dzięki czemu możliwe stało się wyposażenie komputera osobistego w odpowiednią dla potrzeb algorytmów rozpoznających mowę ciągłą wielkość pamięci RAM.
Jednakże jeszcze przed kilkunastu laty takie wymagania dla komputerów jak megabajtowe pamięci i wielka szybkość wykonywania operacji wydawała się przekraczać wszelkie rozsądne granice, zwłaszcza jeśli wymagało się pracy systemu w czasie rzeczywistym. Stanowiło to wówczas barierę techniczną, utrudniającą prowadzenie badań. Obok ograniczeń technicznych pojawiać się mogła również bariera psychologiczna. Badacz zmuszony był do poszukiwań rozwiązań stojących przed nim problemów nie w obszarze wszystkich możliwych form i metod przekształcania sygnału, lecz w obszarze wytyczonym przez możliwości wykorzystywanej techniki i dopuszczalne modyfikacje używanej aparatury. Ograniczenie, o którym mowa, było tym groźniejsze, że funkcjonowało najczęściej w sposób dla samego badacza nie uświadomiony i zaiste mogło prowadzić do frustracji.
Czesław Basztura - "Rozmawiać z komputerem" Wydawnictwo Prac Naukowych "FORMAT" Wrocław1992
Ryszard Tadeusiewicz - "Sygnał mowy" Wydawnictwa Komunikacji i Łączności Warszawa 1988
Inne źródła internetowe:
PC WORLD KOMPUTER - Dźwięk i muzyka
Speech Analysis. (ang.)
Wywiad z Danielem P. Dernem, redaktorem amerykańskiego wydania Computerworld.
Drive - producent Lektora.
Neurosoft SynTalk - polski syntezator mowy.