Odpowiedź Erica okazała się bardzo pomocna, chciałem tylko dodać więcej szczegółów, które znalazłem.
System.Speech.Recognition może służyć do programowania rozpoznawania pulpitu. Rozpoznawanie SAPI i Desktop zostało dostarczone w produktach:
- Windows XP: SAPI v5.1 bez rozpoznawania
- Windows XP Tablet Edition: SAPI 5.1 i Recognizer 6.1
- Windows Vista: SAPI 5.3 i Recognizer 8.0
- Windows 7: SAPI v5.4 i Recognizer v8.0?
Serwery są dostarczane z SAPI, ale bez rozpoznawania:
- Windows Server 2003: SAPI v5.1 bez rozpoznawania
- Windows Server 2008 i 2008 R2: SAPI v5.3? i bez rozpoznawania
Rozpoznawanie komputerów stacjonarnych zostało również dostarczone w produktach, takich jak Office.
- Microsoft Office 2003: Recognizer, wersja 6.1
Microsoft.Speech.Recognition może służyć do programowania mechanizmów rozpoznawania serwera. Rozpoznawanie serwerów zostało dostarczone w produktach:
- Speech Server (różne wersje)
- Office Communications Server (OCS) (różne wersje)
- UCMA - który jest zarządzanym interfejsem API dla OCS, który (jak sądzę) zawierał redystrybucyjny element rozpoznawczy
- Platforma Microsoft Server Speech - narzędzie rozpoznające w wersji 10.2
Kompletny zestaw SDK dla wersji Microsoft Server Speech Platform 10.2 jest dostępny pod adresem http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1b1604d3-4f66-4241-9a21-90a294a5c9a4 . Silnik mowy można pobrać bezpłatnie. Wersja 11 jest już dostępna pod adresem http://www.microsoft.com/download/en/details.aspx?id=27226 .
Aby uzyskać informacje i pliki do pobrania dotyczące zestawu SDK 11 platformy Microsoft Speech Platform, zobacz:
Rozpoznawanie komputerów stacjonarnych jest przeznaczone do działania w trybie inproc lub udostępnionym. Współdzielone aparaty rozpoznawcze są przydatne na pulpicie, gdzie polecenia głosowe służą do sterowania otwartymi aplikacjami. Rozpoznawanie serwera może działać tylko w trybie inproc. Moduły rozpoznawania Inproc są używane, gdy pojedyncza aplikacja korzysta z aparatu rozpoznawania lub gdy pliki wav lub strumienie audio muszą zostać rozpoznane (współdzielone aparaty rozpoznawcze nie mogą przetwarzać plików audio, tylko dźwięk z urządzeń wejściowych).
Tylko stacjonarne programy rozpoznawania mowy zawierają gramatykę dyktowania (gramatykę dostarczaną przez system, używaną do dyktowania dowolnego tekstu). Klasa System.Speech.Recognition.DictationGrammar nie ma dopełnienia w przestrzeni nazw Microsoft.Speech.
Możesz użyć interfejsów API, aby zapytać o zainstalowane rekongizery
- Pulpit: System.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers ()
- Serwer: Microsoft.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers ()
Odkryłem, że mogę również zobaczyć, jakie aparaty rozpoznawcze są zainstalowane, patrząc na klucze rejestru:
- Rozpoznawanie pulpitu: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Recognizers \ Tokens
- Rozpoznawanie serwera: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech Server \ v10.0 \ Recognizers \ Tokens
--- Aktualizacja ---
Jak omówiono w sekcji Rozpoznawanie mowy firmy Microsoft - jakie odniesienie muszę dodać? , Microsoft.Speech jest również interfejsem API używanym przez aparat rozpoznawania Kinect. Jest to udokumentowane w artykule MSDN http://msdn.microsoft.com/en-us/library/hh855387.aspx
Oto łącze do biblioteki mowy (platforma MS Server Speech):
Wydano Microsoft Server Speech Platform 10.1 (SR i TTS w 26 językach)
źródło
Wygląda na to, że Microsoft napisał artykuł wyjaśniający różnice między Microsoft Speech Platform i Windows SAPI - https://msdn.microsoft.com/en-us/library/jj127858.aspx . Różnica, którą znalazłem podczas konwersji kodu rozpoznawania mowy dla Kinect z Microsoft.Speech do System.Speech (patrz http://github.com/birbilis/Hotspotizer ), polegała na tym, że ten pierwszy obsługuje gramatyki SGRS z tag-format = semantics / 1.0- literały, podczas gdy ten drugi nie i musisz przekonwertować na semantykę / 1.0, zmieniając x na out = "x"; na tagach
źródło