Automatyczne rozpoznawanie mowy jest częścią praktycznie wszystkich smartfonów, a te najnowsze, jak iPhone 7 lub Galaxy 7, cały czas słuchają poleceń głosowych. To samo dotyczy wybranych smartwatchy, niektórych aplikacji elektroniki noszonej, a także gadżetów sportowych, np. kamer. Po stronie profesjonalnej najwięcej sterowania głosem jest w motoryzacji, bowiem wiele samochodów pozwala obsługiwać w ten sposób telefon, nawigację i radioodtwarzacz. Na rynku jest też odtwarzacz Amazon Echo z wbudowanym cyfrowym asystentem, któremu można wydawać polecenia, a nawet zadawać pytania.
Sukcesy na rynku elektroniki konsumenckiej zachęcają do inwestycji liczne firmy, w tym gigantów takich jak Microsoft, Google lub Intel. Firmy te pracują nad algorytmami rozpoznawania mowy, rozwiązaniami scalonymi zapewniającymi obróbkę sygnałów analogowych i przetwarzania cyfrowego, tak aby finalnie funkcja ta była dostępna w ramach jednego chipu SoC oraz stała się częścią systemów operacyjnych takich jak Windows.
Rozpoznawanie mowy w smartfonach i podobnych aplikacjach na razie działa tak, że polecenia głosowe są nagrywane i wysyłane przez Internet do wydajnych serwerów, które dokonują ich szybkiej analizy i odsyłają po krótkim czasie wyniki (tzw. offloading). Metoda taka wymaga stałego połączenia z siecią, przez co nie da się jej zastosować w aplikacjach IoT, do sterowania domofonem, windą lub sterownikiem PLC.
Niestety rozpoznawanie mowy bez wsparcia wydajnych serwerów i chmur obliczeniowych jest znacznie trudniejsze, a gdy dodatkowo trzeba zapewnić niski pobór mocy, staje się to wielkim wyzwaniem technologicznym. Co więcej, system taki musi działać pewnie i w każdych warunkach, gdyż nic tak nie zniechęca do nowych rozwiązań, jak niepewność działania lub słaba jakość rozpoznawania. Dlatego, aby zapewnić pewne działanie wykorzystywane są technologie uczenia się głosu bazujące na sieciach neuronowych, wspomagane przez systemy redukcji szumów i tłumienia echa akustycznego. Uzupełniają je systemy wielomikrofonowe, które pozwalają na kierunkowe słuchanie po to, aby z dźwięków otoczenia wyłowić ten pożądany, a całą resztę stłumić.
Takie rozwiązania zapewniają też możliwość aktywnego śledzenia operatora, gdy porusza się on po pomieszczeniu. Systemy uczenia się są potrzebne po to, aby system zapamiętywał cechy charakterystyczne operatora i nie reagował na inne dźwięki z telewizora, radia lub innego podobnego źródła, np. pojawiające się w reklamach.
Te wszystkie wymagane funkcje są od strony układowej złożonymi zadaniami obliczeniowymi, które wymuszają zastosowanie wielordzeniowych i wielopotokowych CPU, szybkich i pojemnych pamięci i nietrudno się domyślić, że nie są one efektywne od strony energetycznej tak, aby móc je zasilać z baterii w sprzęcie mobilnym.
Wydaje mi się, że droga do realizacji interfejsu użytkownika za pomocą rozpoznawania języka naturalnego jest jeszcze na tyle daleka, że obietnica "IEEE Spectrum" wskazująca na ten rok może się okazać niewypałem. Idea, aby dokonywać takiej operacji offline bez wsparcia Internetem i chmurą obliczeniową, jest z pewnością interesująca, ale na razie jej komercjalizacja w systemie IoT, urządzeniu mobilnym albo nawet aplikacji inteligentnego domu to bezsprzecznie przyszłość, tyle że odległa. Sprzęt elektroniczny, do którego będzie można po prostu powiedzieć, co ma robić, z pewnością stworzy kolejny, fantastyczny rozdział w rozwoju elektroniki, na który warto czekać, obojętnie czy będzie to rok, pięć lat czy całą dekadę.
Robert Magdziak