网络编程
位置:首页>> 网络编程>> Python编程>> 对Python 语音识别框架详解

对Python 语音识别框架详解

作者:houyanhua1  发布时间:2023-09-22 01:32:30 

标签:Python,语音,识别

如下所示:


from win32com.client import constants
import os
import win32com.client
import 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()

来源:https://blog.csdn.net/houyanhua1/article/details/78119195

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com