對Python 語音識別框架詳解
更新時間:2018年12月24日 10:51:24 作者:houyanhua1
今天小編就為大家分享一篇對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 語音識別框架詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python ChainMap 合并字典的實現(xiàn)步驟
這篇文章主要介紹了python ChainMap 合并字典的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
python 數(shù)據(jù)庫查詢返回list或tuple實例
這篇文章主要介紹了python 數(shù)據(jù)庫查詢返回list或tuple實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python如何實現(xiàn)轉(zhuǎn)換URL詳解
這篇文章主要介紹了Python如何實現(xiàn)轉(zhuǎn)換URL詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
python批量設(shè)置多個Excel文件頁眉頁腳的腳本
這篇文章主要介紹了python批量設(shè)置多個Excel文件頁眉頁腳的源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
PyQt5 實現(xiàn)給窗口設(shè)置背景圖片的方法
今天小編就為大家分享一篇PyQt5 實現(xiàn)給窗口設(shè)置背景圖片的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06

