如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
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__' :
wordsToAdd = [ "张三" ,
"你好" ,
"国庆快乐" ,
"新年快乐" ,
"李四" ,
"王五" ,
"赵六" ,]
speechReco = SpeechRecognition(wordsToAdd)
while True :
pythoncom.PumpWaitingMessages()
|
以上这篇对Python 语音识别框架详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/houyanhua1/article/details/78119195