Click here to Skip to main content
15,885,833 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,
I'm try to develop a voice recognition program using vb.net. My question is how can i add "paint" to commandchoices at run time when a button is pressed.

Dim commandChoices As New Choices("wordpad", "notepad", "word")
I need to add/append "paint"to this line when a button is pressed at runtime.

Please help me with sample code.

What I have tried:

recog = New SpeechRecognitionEngine()
recog.SetInputToDefaultAudioDevice()
recog.RecognizeAsyncStop()
recog.UnloadAllGrammars()

---form load event---
Dim commandChoices As New Choices("wordpad", "notepad", "word")
Dim grammarBuilder As New GrammarBuilder(New Choices("open", "close", "Hello"))
grammarBuilder.Append(commandChoices)
Dim commandChoices1 As New Choices("google", "facebook", "yahoo", "apple")
Dim grammarBuilder1 As New GrammarBuilder(New Choices("goto"))
grammarBuilder1.Append(commandChoices1)
Dim grammarbuilder2 As New GrammarBuilder(New Choices("Calculator", "TaskManager", "MyComputer", "CommandPrompt", "C-Panel", "D-Drive", "C-Drive"))
Dim g As New Grammar(New Choices(grammarBuilder, grammarBuilder1, grammarbuilder2))
g.Name = "Available programs"
recog.LoadGrammarAsync(g)
recog.RecognizeAsync(RecognizeMode.Multiple)


AddHandler recog.AudioLevelUpdated, AddressOf Me.auevent
AddHandler recog.SpeechRecognized, AddressOf Me.recevent
AddHandler recog.SpeechRecognitionRejected, AddressOf Me.recfailevent
Posted
Updated 8-Oct-19 8:10am

1 solution

Start with some type of dynamic array/list, a List(Of String) would probably be a good idea. Add the fixed choices at form load time. You can then let the user add any other choices via a dialog or simple text box, and append them to your list. You then need to recreate your grammar for each additional word.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900