2010-05-25 43 views
5

Tôi đang thực hiện Hệ thống điều khiển nhà thông minh ngay bây giờ và tôi có một chút vấn đề. Tôi đã suy nghĩ về việc sử dụng Cosmos cho một hệ thống cơ sở, và thêm các thư viện không gian tên cần thiết vào nó, nhưng như không gian tên System.Speech.Recognition thông thường phụ thuộc quá nhiều vào Windows Speech API, tôi phải quên sử dụng nó.C# Nhận dạng giọng nói

Vì vậy, câu hỏi của tôi là, liệu có bất kỳ (miễn phí nếu có thể) nhận dạng giọng nói và/hoặc bài phát biểu bài diễn văn thư viện tổng hợp cho C#, những gì có sau đây:

  • hỗ trợ đa ngôn ngữ nói
  • extracting nội dung văn bản từ mẫu biểu
  • tổng hợp lời nói với lựa chọn (hoặc người dùng viết) mẫu lời nói (voice)

Một sử dụng chung, không cửa sổ thư viện phụ thuộc woul d là tốt nhất, và tất nhiên, nếu nó là miễn phí quá.

+2

Ồ, tôi chưa bao giờ biết có [nhận dạng giọng nói tích hợp] (http://msdn.microsoft.com/en-us/library/system.speech.recognition.aspx) trong khung .net. Ngoài ra, [this] (http://msdn.microsoft.com/en-us/library/system.speech.synthesis.aspx). –

+0

@BlueRaja - Bạn nên làm cho câu trả lời này. Tôi sẽ upvote bạn. Tôi cũng không biết về điều này. – JasCav

+0

Tôi không tin rằng fonix232 không sử dụng hệ điều hành Microsoft cho điều này - anh ấy dường như đang sử dụng một hệ điều hành nguồn mở được viết bằng IL. Liên kết là http://www.gocosmos.org/index.en.aspx. –

Trả lời

2

Voxeo offers developer accounts mà bạn có thể sử dụng để phát triển hệ thống tự động hóa được hỗ trợ bằng giọng nói. Tôi đã giao tiếp nó với my own home automation system cho một tập nhỏ các lệnh mà nhà tôi hiểu và nó hoạt động tốt. Bạn sẽ cần phải học một số VoiceXML để sử dụng nó.

SAPI hoạt động OK để tổng hợp giọng nói; Tôi sử dụng SAPI trong hệ thống của tôi để nói lời nhắc trong nhà như một dự báo thời tiết mà đi qua loa vào buổi sáng khi bạn bước vào phòng tắm. Nếu Cosmos không cho phép bạn bao gồm tất cả các DLL bạn cần có thể bạn có thể tạo một dịch vụ riêng biệt bằng cách sử dụng SAPI và sau đó sử dụng WCF (hoặc khác) để giao tiếp giữa chúng?

Đối với vấn đề liên quan đến hiểu ngôn ngữ tự nhiên ở dạng đã nhập, tôi đã phát triển một số C# NLP Engine mà tôi hy vọng có thể cung cấp cho mục đích phi thương mại tại một số thời điểm trong tương lai.

Trích xuất văn bản từ lời nói mà không chỉ định bất kỳ ngữ pháp nào từ trước là một vấn đề rất khó và sẽ dễ xảy ra lỗi. Ngay cả khi bạn có thể giải quyết vấn đề đó, bạn vẫn gặp vấn đề khi cố gắng hiểu những gì họ nói bằng cách sử dụng NLP. Xây dựng một ngữ pháp hướng dẫn trình nhận dạng cho các loại câu bạn muốn nhận ra (như VoiceXML) có khả năng đạt được độ chính xác cao hơn nhiều.

2

Kiểm tra dự án này: http://cmusphinx.sourceforge.net/

Đây là dự án nhận dạng giọng nói nguồn mở. Nó có thể đào tạo được với bất kỳ ngôn ngữ nào bạn muốn cộng với vì nguồn mở của nó, bạn có thể sửa đổi nó cho phù hợp với nhu cầu của bạn hoặc mở rộng nó.

+0

Vấn đề duy nhất là, nó không phải là một thư viện thuần túy C#. Và như tôi đã nói, tôi muốn sử dụng một thư viện thuần túy C#, vì Cosmos yêu cầu nó. – fonix232

+0

hi icemanind, tôi đang tìm kiếm một chương trình nhận dạng giọng nói để có được kết quả tốt nhất có thể, bạn có nghĩ CMU Sphinx có thể cung cấp cho tôi điều này không? –

+0

@FernandoSantiago - Tôi nghĩ tùy chọn MIỄN PHÍ tốt nhất của nó. Nếu bạn không có tiền để chi tiêu, sau đó là con đường để đi. Hãy ghi nhớ, như fonix232 đã chỉ ra, C# không thuần khiết của nó. Nó có một số C + + dưới mui xe quá – Icemanind

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