2014-11-21 38 views
6

Tôi đang xây dựng một ứng dụng nhận dạng giọng nói android mà sẽ đóng vai trò như một trợ lý cá nhân ảo với các nhiệm vụ như:Pocketsphinx Speech Recognition VS Google API

Hãy hẹn/Nhắc nhở

Thời tiết Thông tin

thắc mắc chung tới Wolfram | Alpha/Wikipedia - (tức là Ai đã chỉ đạo Ghostbusters, tỷ giá hối đoái £ - $) là gì

Câu hỏi của tôi là sử dụng Pocketsphinx hoặc Google API?

Ban đầu tôi thiết lập điều này với "android.speech.RecognitionListener", đã hoạt động tốt, tuy nhiên tôi muốn triển khai Từ khóa đốm để người dùng không cần phải có bất kỳ tương tác nào khác ngoài nói.

Dường như Google API không hỗ trợ điều này, vì vậy tôi đã xem xét sử dụng pocketsphinx cho điều này và vẫn sử dụng google cho phần còn lại của ứng dụng (Như tôi đã nghe pocketsphinx không chính xác?) hòa thuận vì cả hai không thể cùng lúc chiếm được micro.

Có cách nào tốt đẹp để chuyển đổi giữa các trình nhận dạng không? (thậm chí không thể nhập cả hai vào cùng một dự án)

Tôi có nên đi với pocketshinx và đối phó với độ chính xác thấp hơn không?

Gợi ý sẽ là hữu ích

Cheers

+1

Sự cố của bạn khi triển khai từ đánh thức với pocketsphinx và sau đó chuyển sang trình nhận dạng google bằng cách dừng ghi âm bằng pocketsphinx? – Florent

+0

Cả hai không thể được nhập vào cùng một dự án theo như tôi có thể nói, tuy nhiên tôi cảm thấy có thể đã giải quyết được vấn đề trong 5 phút vừa qua, khi tôi hiểu tại sao và làm thế nào hơn một chút, tôi sẽ đăng câu trả lời ở đây cho những người trong tương lai được hưởng lợi – Aphire

+0

Pocketsphinx hoàn toàn kém so với GSR. Bạn sẽ nhận được kết quả tốt hơn bằng cách lấy mẫu/dev/ngẫu nhiên. – Cerin

Trả lời

1

Đối với bất kỳ ai muốn thực hiện một dự án tương tự, tôi đã tìm thấy một công việc xung quanh. Đó là abit hacky và không hoàn toàn sạch sẽ, nhưng nó hoạt động.

Sử dụng trình nhận dạng giọng nói của Android bằng công tắc bật/tắt như trong nhiều ví dụ trên web, khi onResults quay lại, chuỗi sẽ được kiểm tra cho "hotword", nếu không có, hãy hủy chuỗi, nếu nó là, xử lý nó. Khi truy vấn đã được xử lý và văn bản thành lời nói đang phản hồi, hãy lập trình reclick nút chuyển đổi, đảm bảo nghe liên tục.

Làm tương tự trên "onError". Tôi cũng đã có nó trênPartialResults là tốt, nhưng nó xuất hiện để làm cho các vụ tai nạn thread, không hoàn toàn chắc chắn lý do tại sao nhưng một khi nó đã được gỡ bỏ tất cả mọi thứ dường như làm việc độc đáo.

+0

vì vậy bạn đã sử dụng Google API phải không ?? – thanga

+0

Tôi đã làm đúng vào cuối, chưa chạm vào dự án trong gần hai năm mặc dù – Aphire

+0

oh ok..thanks Aphire – thanga