2012-02-28 40 views
6

Tôi có một chương trình với GrammarBuilders và Grammer được sử dụng trong SpeechRecognitionEngine để nhận dạng giọng nói. Tôi có thể, thay vì nhận ra từ âm thanh, sử dụng cùng một ngữ pháp để nhận ra một lệnh đã gõ (trong một chuỗi)? Một cái gì đó như commandGrammar.parse (commandString)?Ngữ pháp đơn giản cho nhận dạng giọng nói

+0

+1 Ý tưởng thực sự thú vị. Điều gì về chuyển văn bản thành giọng nói và sau đó nói thành văn bản? – Jason

+0

Đã khoảng một năm kể từ khi tôi chơi nghiêm túc với API nhận dạng giọng nói (được chứng minh là nguyên thủy nhất) nên có lẽ ấn tượng và hiểu biết của tôi đã lỗi thời, nhưng không phải là mục tiêu của việc có các ngữ pháp nhận dạng giọng nói nó để nhận ra một giọng nói cụ thể? Bạn sẽ không nhận được điều đó từ văn bản một mình. –

+0

Không, điểm cho trường hợp này là để có được đầu vào dựa trên logic như "làm điều này trong 30 giây". Các thuật toán bằng giọng nói có thể xử lý nó tốt tại thời điểm này, nhưng nếu ai đó loại nó? Có một cách khá dễ dàng để làm điều này, tôi nghĩ vậy. Nhận dạng giọng nói làm cho nó thành văn bản và THEN phân tích nó, phải không? –

Trả lời

3

Bạn có thể sử dụng SpeechRecognitionEngine.EmulateRecognize để nhập văn bản thay cho âm thanh cho nhận dạng giọng nói.

Tôi không chắc chắn về mục đích sử dụng, nhưng nếu điều này sẽ được sử dụng cho một thứ như bot trò chuyện tự động tương tác với nhập văn bản qua IM hoặc SMS, tôi nghĩ bạn sẽ thấy ngữ pháp rất cồng kềnh để duy trì và hạn chế. Tôi muốn giới thiệu một cái gì đó như Artificial Intelligence Markup Language (AIML) để xử lý phản hồi văn bản. Nó rất dễ học và rất mạnh mẽ. Thay vì sử dụng các ngữ pháp ngắn gọn mà ASR yêu cầu, ngôn ngữ này cho phép bạn sử dụng các ký tự đại diện phù hợp hơn với nhập văn bản. Thậm chí có một số C# open source projects cung cấp thư viện để làm việc với AIML và đơn giản hóa việc tạo chương trình trò chuyện.

+0

Đã chỉnh sửa câu trả lời của tôi để bao gồm phương thức SpeechRecognitionEngine để sử dụng cho nhập văn bản. –

+0

Cảm ơn con trỏ đến phương thức đó. Tôi đang sử dụng nó để kiểm tra các tập tin ngữ pháp thông qua NUnit. –

Các vấn đề liên quan