Program do pracy na komputerze za pomocą mowy

Program do pracy na komputerze za pomocą mowy
PC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Work by Speech to mój darmowy anglojęzyczny program, który umożliwia pracę na komputerze za pomocą mowy. Program jest napisany w C# WPF i ma obecnie ok. 21000 linijek kodu. Na początku korzystałem z silnika rozpoznawania mowy Microsoftu, ale po tym jak usunęli z Windows 11 uczenie się głosu użytkownika program stał się bezużyteczny i musiałem przejść na silnik Vosk. Na silniku Vosk dyktowanie działa znacznie lepiej, więc była to dobra zmiana. Jeśli chodzi o pracę za pomocą mowy to przez około miesiąca programowałem za pomocą mowy korzystając z wczesnej wersji mojego programu (bez dyktowania). Pisałem za pomocą mowy w Visual Studio litera po literze i korzystałem z autouzupełniania (do wciskania liter służy alfabet fonetyczny NATO, czyli np. jak chce się wcisnąć d to mówi się delta). Mimo tego nie spowalniało mnie to znacznie, bo dużo czasu się zastanawiałem. Teraz program wspiera również dyktowanie, dodawanie własnych komend głosowych, nagrywanie makr (i dodawanie ich do własnych komend głosowych) oraz posiada inteligentną siatkę myszy, która dzieli ekran na max 2450 figur i uczy się jak użytkownik korzysta z każdego programu. 49 najczęściej używanych figur w siatce myszy ma tylko jedną literę (którą użytkownik czyta korzystając z alfabetu fonetycznego NATO). Np. do kliknięcia lewym przyciskiem myszy z pomocą siatki myszy służy komenda West (left jest zajęte przez klawisz lewej strzałki). Po pojawieniu się siatki myszy należy wybrać string, który ma max. 2 znaki i przeczytać zgodnie z alfabetem fonetycznym NATO (np. as czytamy jako alfa sierra). Siatką można poruszać poprzez komendy up, down, left, right, jeśli żadna figura nie jest w pożądanym miejscu (co jest rzadkością, jeśli wybrana siatka ma zwiększoną precyzję w poziomie). Z komend wbudowanych bardzo przydatne komendy to Open app_name, Switch to app_name, Show Desktop, Close That, Copy, Paste, Scroll up/down x times, Scroll left/right x times. Komendy wbudowane pozwalają na wciskanie kombinacji klawiszy i wielokrotne wciskanie, dlatego liczba komend wbudowanych w rzeczywistości wynosi ok. 44000.

Może komuś z was ten program się przyda.

Jeśli chodzi o porównanie go do Voice Access, to w Voice Access kontrola myszki za pomocą mowy jest według moich obliczeń 2.5x wolniejsza niż w Work by Speech. W Voice Access są problemy z wciskaniem klawiszy z literami za pomocą mowy - konkretnie z literami i, o, f, g, j, l, m - jedyne rozwiązanie to stosować klawiaturę wirtualną - tzw. touch keyboard, która niestety zajmuje dużą część ekranu (poprzednia wersja Voice Access zwana Windows Speech Recognition App obsługiwała alfabet NATO do wciskania klawiszy, ale w Voice Access od tego odeszli i wciskanie jest bardzo powolne, bo przed nazwą litery trzeba powiedzieć press i problematyczne litery trzeba powtarzać wielokrotnie, a czasem nie rozpoznaje ich wcale). A jeśli chodzi o porównanie dyktowania to na ok. 20 zdań czytanych przez native speaker'a Voice Access popełniło 2 błędy, a Work by Speech 1 błąd. Do tego domyślnie po każdym dyktowaniu Voice Access dodaje spacje, co nie powinno mieć miejsca.

Pełny opis programu i link do pobrania: https://github.com/ProperCode/Work-by-Speech/

Link do instrukcji: https://github.com/ProperCode/Work-by-Speech/blob/main/Work%20by%20Speech/Work%20by%20Speech/bin/Debug/Help/User%20Guide.pdf
Link do alfabetu myszy: https://github.com/ProperCode/Work-by-Speech/blob/main/Work%20by%20Speech/Work%20by%20Speech/bin/Debug/Help/Mousegrid%20Alphabet.pdf
Link do komend wbudowanych: https://github.com/ProperCode/Work-by-Speech/blob/main/Work%20by%20Speech/Work%20by%20Speech/bin/Debug/Help/Built-in%20Commands.pdf

obscurity
  • Rejestracja: dni
  • Ostatnio: dni
2

Jeśli chodzi o porównanie go do Voice Access, to w Voice Access kontrola myszki za pomocą mowy jest według moich obliczeń 2.5x wolniejsza niż w Work by Speech.

właśnie miałem pytać, voice access działał dla mnie bardzo fajnie, ale to był bardziej bajer w czasach windows vista. Jak ktoś ma sprawne ręce to wygodniej użyć klawiatury.

ProperCode napisał(a):

Na początku korzystałem z silnika rozpoznawania mowy Microsoftu, ale po tym jak usunęli z Windows 11 uczenie się głosu użytkownika program stał się bezużyteczny

Usunęli bo silnik rozpoznawania stał się bardziej zaawansowany i już nie potrzebował kalibracji pod konkretny głos. W jaki sposób api stało się przez to bezużyteczne?

Moim zdaniem taka apka jest średnio użyteczna, inne metody wprowadzania są wygodniejsze nawet dla osób z niepełnosprawnością. Połączenie tego z LLM żeby dało się faktycznie rozmawiać z komputerem co ma zrobić to już coś o szerszym zakresie użycia, ale microsoft już nad tym pracuje i pewnie będzie za subskrypcją.

PC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Usunęli bo silnik rozpoznawania stał się bardziej zaawansowany i już nie potrzebował kalibracji pod konkretny głos. W jaki sposób api stało się przez to bezużyteczne?

To wynika z tego, że Voice Access i Windows Speech Recognition Engine (WSR) to dwa różne systemy rozpoznawania mowy.

Starszy Windows Speech Recognition Engine (SAPI Speech Recognition) był rozwijany od czasów Windows Vista i Windows 7. Jego API umożliwiało aplikacjom korzystanie z tego silnika. Jedną z jego cech było opcjonalne trenowanie profilu użytkownika ("Train your computer to better understand you"), dzięki któremu silnik lepiej rozpoznawał głos konkretnej osoby.

Microsoft później opracował nowy silnik oparty na nowoczesnych modelach uczenia maszynowego, wykorzystywany przez Voice Access. Ten silnik:

  • nie wymaga tworzenia profilu użytkownika,
  • działa znacznie lepiej bez kalibracji,
  • wykorzystuje zupełnie inną architekturę.

Problem polega na tym, że Microsoft nie zastąpił starego silnika nowym w istniejącym API SAPI.

W praktyce wygląda to tak:
Aplikacja korzystająca z Windows Speech Recognition API (System.Speech, SAPI) nadal używa starego silnika WSR.
Voice Access korzysta z nowego, wewnętrznego silnika, do którego Microsoft nie udostępnił zgodnego API dla klasycznych aplikacji desktopowych.
Gdy Microsoft usunął możliwość trenowania profilu użytkownika (najpierw ukrył ją, a później usunął wraz z profilem rozpoznawania mowy), stary silnik przestał mieć możliwość dostosowywania się do głosu użytkownika.
Sam silnik SAPI nie został jednak znacząco ulepszony.

Dlatego wielu programistów uważa dziś to API za praktycznie martwe:

  • nie jest rozwijane,
  • nie otrzymuje ulepszeń jakości rozpoznawania,
  • nie korzysta z technologii Voice Access,
  • pozostaje tylko ze starszym modelem rozpoznawania.

Podsumowując: nowy silnik Voice Access osiąga wysoką dokładność bez trenowania, ale nie jest dostępny przez stare API, więc aplikacje SAPI nie mogą z niego skorzystać.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.