Interfejs sterujący funkcjami głosowymi w JavaScript

w dziale Po godzinach
webcm napisał(a):

Technologie internetowe cały czas rozwijają się, ale wciąż brakuje mi wielu interfejsów i funkcji w języku JavaScript, które mogą ułatwić popularne zadania i przyspieszyć tworzenie aplikacji. Tutaj poruszę tylko funkcje głosowe z racji tego, że Opera wprowadziła je najwcześniej. Są tagi <audio> i <video>, na pewno można nimi manipulować, podmieniać adres pliku dźwiękowego lub filmu i znacznie więcej. Możliwości są duże. Firefox implementuje je tak: Using audio and video in Firefox

Nie wiem, jak to jest w Operze, jeszcze nie eksperymentowałem. Przejdźmy do rzeczy:

Opera 8 wprowadza syntezę i analizę głosu. Prawdopodobnie da się wywołać komendę "czytaj" za pomocą skryptów (nie jestem tego pewny), ale gorzej z analizą wejścia. Pozostaje VoiceXML, który dość mocno ogranicza wykorzystanie technologii w praktyce - w większej aplikacji lub grze internetowej. Język dobrze nadaje się do automatów usługowych, wykorzystywanych w telefonii (banki, infolinie, sekretarki). W nowszej wersji są zaawansowane instrukcje, ale trzeba uczyć się nowej składni i zastanawiać się, co jest źle. Poza tym - łatwiej operować w czystym JS niż modyfikować kod VoiceXML (jeśli w ogóle to będzie działać).

Jest kilka sposobów implementacji. Moje propozycje mogą być błędne i nieprzemyślane, bo nie analizowałem szczegółów.

Obiekt Voice albo o podobnej nazwie
Istnieje 1 duża klasa (w zasadzie obiekt), podobnie jak XMLHttpRequest - z wieloma lub tylko jedną instancją. Wejściem i wyjściem sterujemy za pomocą metod, parametry i zdarzenia określamy za pomocą własności... W przypadku błędów wyrzuca wyjątek. Można zastosować wyrażenia regularne do dopasowania wejścia.

Zdarzenia
Gdy nastąpi jakieś zdarzenie (np. emisja głosu), jest wywoływane zdarzenie. Jego własności zawierają różne dane, w tym wykryte słowo. Pozostaje pytanie, jak rozpocząć nasłuchiwanie albo nakazać syntezatorowi przeczytać tekst - za pomocą innych funkcji?

Inne propozycje?
Może coś Wam przyjdzie do głowy. Opracowanie szczegółów wymaga pracy i czasu - teraz tylko spekulujemy smile

Dodatkowe funkcjonalności powinny działać oczywiście tylko wtedy, gdy zostanie włączona wtyczka (tak jak dotychczas, że trzeba ją pobrać), a użytkownik zezwoli na komunikację głosową.

andol napisał(a):

Stosowana w obecnych wersjach Opery technologia funkcji głosowych jest już martwa. Jest to dzieło IBM-a, który już ten projekt (o ile się orientuję) porzucił. Aby funkcje głosowe miały w Operze przyszłość, musi być zastosowane nowe API. I to API otwarte i wieloplatformowe, aby było również akceptowalne dla twórców innych przeglądarek. A gdy to nastąpi, będzie można pomyśleć o tym, co piszesz… smile

Moim zdaniem z faktu, że Opera Software nie usunęła jeszcze z przeglądarki opartych na martwej technologii funkcji głosowych, można wnosić, że są jakieś plany implementacji nowszego API.

Medium napisał(a):

Originally posted by andol:

Aby funkcje głosowe miały w Operze przyszłość, musi być zastosowane nowe API.


Przyszłość przyszłością, ale tu nawet teraźniejszość nie chce działać, pod tym względem jest tylko regres. Od Opery 10.5 nie da się pobrać biblioteki funkcji głosowych.
A ja tak lubiłam tego angielskiego lektora, który mi czytał zaznaczony tekst...