今天小编就为大家分享一篇对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()
 

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

最新资讯
快递柜到底方便了谁?

快递柜到底方便了谁?

快递柜催生的“懒人快递”也是令多数用户对其生厌的主
同程艺龙CFO:低线城市渗透率20% 将借微信提高渗透

同程艺龙CFO:低线城市

同程艺龙CFO范磊在20日的电话会议中向新浪科技等媒体
评论:4G慢不慢,不能用“话术”来解释

评论:4G慢不慢,不能用“

近来网上流出的某运营商“话术”,更是令人震惊,也让之前
Steam中国定名“蒸汽平台” 几乎完全独立于Steam

Steam中国定名“蒸汽

在今天的完美世界发布会上,Steam中国终于正式定名,叫作
索尼正式宣布与漫威"分手":失望,但尊重迪士尼的决定

索尼正式宣布与漫威"

索尼影业发布声明回应,正式宣布漫威影业和凯文·费奇将
一台5G基站要花多少钱?业内:初期高达60万元

一台5G基站要花多少钱

据悉移动联通电信三家公司今年的资本开支约合3000亿元
最新文章
python+pyqt5实现图片批量缩放工具

python+pyqt5实现图片

这篇文章主要为大家详细介绍了Python+pyqt5实现图片批
python+pyqt5编写md5生成器

python+pyqt5编写md5

这篇文章主要为大家详细介绍了python+pyqt5编写md5生
Python动态赋值的陷阱知识点总结

Python动态赋值的陷阱

在本文中我们给大家整理了关于Python动态赋值的陷阱的
Python中super函数用法实例分析

Python中super函数用

这篇文章主要介绍了Python中super函数用法,结合实例形
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】

Python操作MySQL数据

这篇文章主要介绍了Python操作MySQL数据库的两种方式,
matplotlib实现区域颜色填充

matplotlib实现区域颜

这篇文章主要为大家详细介绍了matplotlib实现区域颜色