Tôi hiện đang viết chương trình AI nhận đầu vào từ Dragon NaturallySpeaking (sử dụng Natlink), xử lý và trả về kết quả nói. Tôi đã có thể đến với một nhận GrammarBase mà nắm bắt tất cả các đầu vào từ Dragon và gửi nó đến phân tích cú pháp của tôi.Chuyển hướng tất cả đầu vào từ Dragon NaturallySpeaking sang Python? (Sử dụng Natlink)
class Receiver(GrammarBase):
gramSpec = """ <start> exported = {emptyList}; """
def initialize(self):
self.load(self.gramSpec, allResults = 1)
self.activateAll()
def gotResultsObject(self, recogType, resObj):
if recogType == 'reject':
inpt, self.best_guess = [], []
else:
inpt = extract_words(resObj)
inpt = process_input(inpt) # Forms a list of possible interpretations
self.best_guess = resObj.getWords(0)
self.send_input(inpt)
def send_input(self, inpt):
send = send_to_parser(inpt) # Sends first possible interpretation to parser
try:
while True:
send.next() # Sends the next possible interpretation if the first is rejected
except StopIteration: # If all interpretations are rejected, try sending the input to Dragon
try:
recognitionMimic(parse(self.best_guess))
except MimicFailed: # If that fails too, execute all_failed
all_failed()
Mã này hoạt động như mong đợi, nhưng có một số vấn đề:
Rồng xử lý đầu vào trước khi gửi nó vào chương trình của tôi. Ví dụ: nếu tôi nói "Mở Google Chrome", nó sẽ mở Google Chrome và sau đó gửi đầu vào tới Python. Có cách nào để gửi đầu vào cho Python mà không xử lý đầu tiên không?
Khi tôi gọi waitForSpeech(), một hộp thông báo bật lên, cho biết rằng trình thông dịch Python đang đợi đầu vào. Có thể (đối với thẩm mỹ và thuận tiện) để ngăn không cho hộp thông báo hiển thị và thay vào đó chấm dứt quá trình thu thập giọng nói sau khi tạm dừng đáng kể từ người dùng?
Cảm ơn bạn!
Được rồi, đã hiểu! Cảm ơn rất nhiều sự giúp đỡ của bạn, chúc mừng! – Jian
speechcomputing.com có vẻ như đã được tạo cho Google. Theo như tôi có thể nói đó là vô hiệu của nội dung hữu ích. – Harry
Thật không may, trang web đó không còn được duy trì nữa. Thay vào đó hãy kiểm tra nhóm Yahoo voicecoder. – reckoner