将所有输入从Dragon NaturallySpeaking重定向到Python?(使用Natlink)
我目前正在编写一个AI程序,它从Dragon NaturallySpeaking(使用Natlink)接收输入,处理它,并返回语音输出。我能够想出一个接收语法库,它捕获来自Dragon的所有输入并将其发送到我的解析器将所有输入从Dragon NaturallySpeaking重定向到Python?(使用Natlink),python,speech-recognition,speech,speech-to-text,naturallyspeaking,Python,Speech Recognition,Speech,Speech To Text,Naturallyspeaking,我目前正在编写一个AI程序,它从Dragon NaturallySpeaking(使用Natlink)接收输入,处理它,并返回语音输出。我能够想出一个接收语法库,它捕获来自Dragon的所有输入并将其发送到我的解析器 class Receiver(GrammarBase): gramSpec = """ <start> exported = {emptyList}; """ def initialize(self):
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()
类接收器(语法数据库):
gramSpec=“”导出={emptyList};””
def初始化(自):
self.load(self.gramSpec,allResults=1)
self.activateAll()
def gotResultsObject(self、recogType、resObj):
如果recogType==“拒绝”:
输入,self.best_guess=[],[]
其他:
输入=提取单词(resObj)
inpt=过程输入(inpt)#形成可能的解释列表
self.best_guess=resObj.getWords(0)
自发送输入(inpt)
def发送_输入(自身、输入):
send=send_to_解析器(inpt)#向解析器发送第一个可能的解释
尝试:
尽管如此:
send.next()#如果第一个解释被拒绝,则发送下一个可能的解释
除了StopIteration:#如果所有解释都被拒绝,请尝试将输入发送到Dragon
尝试:
识别模拟(解析(自我最佳猜测))
除了模拟失败外:#如果这也失败,则执行所有失败的
全部失败()
此代码按预期工作,但存在几个问题:
谢谢大家! 关于你的第一个问题,DNS在内部使用“Open…”语句作为其命令解析过程的一部分。这意味着DNS解析语音并在natlink有机会之前执行命令。解决这个问题的唯一方法是将natlink语法中的语句从“Open…”更改为“Trigger…”(或者更改为DNS除了“Trigger”之外没有使用的其他语句) 一些natlink开发者在speechcomputing.com上闲逛。你可能会得到更好的回应
祝你好运 speechcomputing.com看起来像是为谷歌制作的。据我所知,它没有有用的内容。不幸的是,该网站不再被维护。改为查看语音编码器Yahoo组。