Hallo Leute ich brauche eure Hilfe...
Ich habe vor eine Spracherkennung zu schreiben aber bekomme es nicht ganz so hin wie ich es haben möchte.
Un zwar möchte ich es so haben, dass wenn ich einen Satz vorspreche das der mir den Satz mit den Wörtern, die ich in der Grammar.xml stehen habe, zusammenbastelt.
Am Ende möchte ich dann den Satz dort angezeigt bekommen, mit den Wörtern die ich gesprochen habe.
Das Ganze funktioniert bis jetzt soweit das wenn ich ein Satz sage das der immer nur ein oder kein Wort versteht
Bis jetzt habe ich das so:
und die Grammar.xml Datei ist so aufgebaut
Ziel ist es dass das Programm ganze Sätze versteht obwohl in der Grammar.xml nur Wörter stehen
Danke schon mal!
Ich habe vor eine Spracherkennung zu schreiben aber bekomme es nicht ganz so hin wie ich es haben möchte.
Un zwar möchte ich es so haben, dass wenn ich einen Satz vorspreche das der mir den Satz mit den Wörtern, die ich in der Grammar.xml stehen habe, zusammenbastelt.
Am Ende möchte ich dann den Satz dort angezeigt bekommen, mit den Wörtern die ich gesprochen habe.
Das Ganze funktioniert bis jetzt soweit das wenn ich ein Satz sage das der immer nur ein oder kein Wort versteht
Bis jetzt habe ich das so:
VB.NET-Quellcode
- Imports System.Speech.Recognition
- Imports System.IO
- Public Class Form1
- Private _GrammarFile As String = Path.GetFullPath("..\..\grammar.xml")
- Dim WithEvents recognizer As SpeechRecognitionEngine
- Private Sub recognizer_SpeechRecognized(ByVal sender As Object, ByVal e As SpeechRecognizedEventArgs) Handles recognizer.SpeechRecognized
- Dim spoken_text = e.Result.Text
- End Sub
- Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As FormClosedEventArgs) Handles Me.FormClosed
- If recognizer IsNot Nothing Then recognizer.Dispose()
- End Sub
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
- recognizer = New SpeechRecognitionEngine()
- recognizer.SetInputToDefaultAudioDevice()
- Dim grammar As New Grammar(_GrammarFile, "thema")
- recognizer.UnloadAllGrammars()
- recognizer.LoadGrammar(grammar)
- recognizer.RecognizeAsync(RecognizeMode.Multiple)
- DisplayManual()
- End Sub
- End Class
und die Grammar.xml Datei ist so aufgebaut
XML-Quellcode
- <grammar xmlns="http://www.w3.org/2001/06/grammar"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.w3.org/2001/06/grammar
- http://www.w3.org/TR/speech-grammar/grammar.xsd"
- xml:lang="de-DE" version="1.0">
- <rule id="thema" scope="public">
- <one-of>
- <item>Hallo</item>
- <item>das</item>
- <item>ist</item>
- <item>ein</item>
- <item>test</item>
- </one-of>
- </rule>
- </grammar>
Ziel ist es dass das Programm ganze Sätze versteht obwohl in der Grammar.xml nur Wörter stehen
Danke schon mal!