Attualmente sto scrivendo un programma AI che riceve input da Dragon NaturallySpeaking (usando Natlink), lo elabora e restituisce un output parlato. Sono stato in grado di creare un Receiver GrammarBase che cattura tutti gli input da Dragon e lo invia al mio parser.Reindirizzare tutti gli input da Dragon NaturallySpeaking a Python? (Utilizzo di 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()
Questo codice funziona come previsto, ma ci sono diversi problemi:
Drago elabora l'ingresso prima di inviarlo al mio programma. Ad esempio, se dovessi pronunciare "Apri Google Chrome", aprirà Google Chrome e quindi invierà l'input a Python. C'è un modo per inviare l'input a Python senza prima elaborarlo?
Quando chiamo waitForSpeech(), viene visualizzata una finestra di messaggio che indica che l'interprete Python è in attesa di input. È possibile (per estetica e praticità) impedire che la finestra di messaggio venga visualizzata, e invece terminare il processo di raccolta vocale dopo una significativa pausa da parte dell'utente?
Grazie!
OK, capito! Grazie mille per il tuo aiuto, evviva! – Jian
speechcomputing.com sembra fatto per Google. Per quanto posso dire è vuoto di contenuti utili. – Harry
Sfortunatamente, quel sito non viene più mantenuto. Controlla invece il gruppo Yahoo del voicecoder. – reckoner