首页 > 编程 > Python > 正文

对Python 语音识别框架详解

2020-01-04 13:43:27
字体:
来源:转载
供稿:网友

如下所示:

from win32com.client import constantsimport osimport win32com.clientimport pythoncom speaker = win32com.client.Dispatch("SAPI.SPVOICE")  class SpeechRecognition: def __init__(self, wordsToAdd):  self.speaker = win32com.client.Dispatch("SAPI.SpVoice")  self.listener = win32com.client.Dispatch("SAPI.SpSharedRecognizer")  self.context = self.listener.CreateRecoContext()  self.grammar = self.context.CreateGrammar()  self.grammar.DictationSetState(0)  self.wordsRule = self.grammar.Rules.Add("wordsRule", constants.SRATopLevel + constants.SRADynamic, 0)  self.wordsRule.Clear()  [self.wordsRule.InitialState.AddWordTransition(None, word) for word in wordsToAdd]  self.grammar.Rules.Commit()  self.grammar.CmdSetRuleState("wordsRule", 1)  self.grammar.Rules.Commit()  self.eventHandler = ContextEvents(self.context)  self.say("Started successfully") def say(self, phrase):  self.speaker.Speak(phrase)class ContextEvents(win32com.client.getevents("SAPI.SpSharedRecoContext")): def OnRecognition(self, StreamNumber, StreamPosition, RecognitionType, Result):  newResult = win32com.client.Dispatch(Result)  print("小伙子你在说 ", newResult.PhraseInfo.GetText())  speechstr=newResult.PhraseInfo.GetText()  if speechstr=="张三":   speaker.Speak("zhaodahai love fengjie")  elif speechstr=="你好":   speaker.Speak("hello world")  elif speechstr=="国庆快乐":   speaker.Speak("Happy nationalday")  elif speechstr=="新年快乐":   speaker.Speak("happy New Year")  elif speechstr=="李四":   speaker.Speak("a beauty baby")  elif speechstr=="王五":   speaker.Speak("a little boy")  elif speechstr=="赵六":   speaker.Speak("a boy can coding")  else:   pass if __name__ == '__main__':  speaker.Speak("语音识别开启") wordsToAdd = ["张三",     "你好",     "国庆快乐",     "新年快乐",     "李四",     "王五",     "赵六",] speechReco = SpeechRecognition(wordsToAdd) while True:  pythoncom.PumpWaitingMessages() 

以上这篇对Python 语音识别框架详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表