Tôi thấy câu trả lời của Eric thực sự hữu ích, tôi chỉ muốn thêm một số chi tiết mà tôi tìm thấy.
System.Speech.Recognition có thể được sử dụng để lập trình các bộ nhận dạng máy tính để bàn. Các bộ nhận dạng SAPI và Desktop đã được vận chuyển trong các sản phẩm:
- Windows XP: SAPI v5.1 và không có trình nhận dạng
- Windows XP Tablet Edition: SAPI v5.1 và Recognizer v6.1
- Windows Vista: SAPI v5.3 và Recognizer v8.0
- Windows 7: SAPI v5.4 và Recognizer v8.0?
Máy chủ đi kèm với SAPI, nhưng không có trình nhận dạng:
- Windows Server 2003: SAPI v5.1 và không có trình nhận dạng
- Windows Server 2008 và 2008 R2: SAPI v5.3? và không có trình nhận dạng
Các bộ nhận dạng máy tính để bàn cũng đã xuất xưởng trong các sản phẩm như văn phòng.
- Microsoft Office 2003: Recognizer v6.1
Microsoft.Speech.Recognition có thể được sử dụng để lập trình các bộ nhận dạng máy chủ. Các trình nhận dạng máy chủ đã được vận chuyển trong các sản phẩm:
- Máy chủ giọng nói (các phiên bản khác nhau)
- Office Communications Server (OCS) (các phiên bản khác nhau)
- UCMA - là một API được quản lý cho OCS (tôi tin rằng) đã bao gồm một trình nhận dạng có thể phân phối lại
- Nền tảng giọng nói máy chủ của Microsoft - trình nhận dạng v10.2
SDK hoàn chỉnh cho phiên bản Microsoft Server Speech Platform 10.2 hiện có tại http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1b1604d3-4f66-4241-9a21-90a294a5c9a4 . Công cụ giọng nói là một tải xuống miễn phí. Phiên bản 11 hiện đã có tại http://www.microsoft.com/download/en/details.aspx?id=27226 .
Để biết thông tin và tải xuống Microsoft Speech Platform SDK 11, hãy xem:
Trình nhận dạng máy tính để bàn được thiết kế để chạy inproc hoặc chia sẻ. Trình nhận dạng dùng chung rất hữu ích trên máy tính để bàn, nơi các lệnh thoại được sử dụng để điều khiển bất kỳ ứng dụng đang mở nào. Trình nhận dạng máy chủ chỉ có thể chạy inproc. Trình nhận dạng Inproc được sử dụng khi một ứng dụng sử dụng trình nhận dạng hoặc khi tệp wav hoặc luồng âm thanh cần được nhận dạng (trình nhận dạng dùng chung không thể xử lý tệp âm thanh, chỉ âm thanh từ thiết bị đầu vào).
Chỉ các trình nhận dạng giọng nói trên máy tính để bàn mới bao gồm ngữ pháp chính tả (ngữ pháp do hệ thống cung cấp được sử dụng để đọc chính tả văn bản miễn phí). Lớp System.Speech.Recognition.DictationGrammar không có bổ sung nào trong không gian tên Microsoft.Speech.
Bạn có thể sử dụng sử dụng API để truy vấn xác định bộ thu hồi dữ liệu đã cài đặt của bạn
- Máy tính để bàn: System.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers ()
- Máy chủ: Microsoft.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers ()
Tôi thấy rằng tôi cũng có thể xem những trình nhận dạng nào được cài đặt bằng cách xem các khóa đăng ký:
- Trình nhận dạng máy tính để bàn: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech \ Recognizers \ Tokens
- Trình nhận dạng máy chủ: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Speech Server \ v10.0 \ Recognizers \ Tokens
--- Cập nhật ---
Như đã thảo luận trong Microsoft Speech Recognition - tôi phải thêm tham chiếu nào? , Microsoft.Speech cũng là API được sử dụng cho trình nhận dạng Kinect. Điều này được ghi lại trong bài viết MSDN http://msdn.microsoft.com/en-us/library/hh855387.aspx