def RunSTT(printData): pub = rospy.Publisher('/emerald_ai/io/speech_to_text', String, queue_size=10) rospy.Subscriber("/emerald_ai/io/hardware_trigger", String, callback) rospy.init_node('STT_node', anonymous=True) rospy.Rate(10) # 10hz useTrigger = Config().GetBoolean("Application.SpeechToText", "Trigger") triggerTime = Config().GetInt("Application.SpeechToText", "TriggerTime") sttProvider = Config().Get("SpeechToText", "Provider") # Google if (sttProvider.lower() == "google"): provider = Google() if (sttProvider.lower() == "microsoft"): provider = Microsoft() if (sttProvider.lower() == "wit"): provider = Wit() if (sttProvider.lower() == "watson"): return print sttProvider.lower() while True: #rate.sleep() if (useTrigger and (STTMemory().GetFloat("TriggerTimestamp") + triggerTime) < time.time()): time.sleep(1) continue data = provider.Listen() if (len(data) == 0): if (printData): print "None" continue if (printData): print "We got:", data FileLogger().Info("STT, RunSTT(), Input Data: {0}".format(data)) rospy.loginfo("STT|{0}".format(data)) pub.publish("STT|{0}".format(data))
def RunSTT(): sttProvider = Config().Get("SpeechToText", "Provider") if(sttProvider.lower() == "watson"): provider = Watson() provider.Listen()