Actualmente estoy escribiendo un programa de IA que recibe información de Dragon NaturallySpeaking (usando Natlink), la procesa y devuelve una salida hablada. Pude crear un Receiver GrammarBase que captura todas las entradas de Dragon y las envía a mi analizador.Redirigir todas las entradas de Dragon NaturallySpeaking a Python? (Usando 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()
Este código funciona como se esperaba, pero hay varios problemas:
Dragón procesa la entrada antes de enviarlo a mi programa. Por ejemplo, si tuviera que decir "Abrir Google Chrome.", Abriría Google Chrome y luego enviaría la entrada a Python. ¿Hay alguna forma de enviar la entrada a Python sin procesarla primero?
Cuando llamo waitForSpeech(), aparece un cuadro de mensaje que indica que el intérprete de Python está esperando la entrada. ¿Es posible (por razones estéticas y de conveniencia) evitar que aparezca el cuadro de mensaje y, en su lugar, finalizar el proceso de recolección de voz después de una pausa significativa del usuario?
¡Gracias!
Bien, lo tengo! Muchas gracias por su ayuda, ¡salud! – Jian
speechcomputing.com parece que está hecho para Google. Por lo que yo sé, está vacío de contenido útil. – Harry
Desafortunadamente, ese sitio ya no se mantiene. Verifique el grupo de Yahoo de voicecoder en su lugar. – reckoner