如下所示:
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