Hallo Leute,
Ich habe ein problem: ich habe versucht mir ein eigenes Spracherkennungs - Programm zu coden. Dazu benutze ich System.Speech. Die Befehle werden dann über meine 'grammar.xml' abgerufen.
hier der code zu dem Programm:
Code:
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Speech
Imports System.Speech.Recognition
Imports System.Text
Imports System.Speech.Synthesis
Module Module1
Public spoken_text As String
Sub Main()
Console.WriteLine("Sprachsteuerung wird gestartet...")
Dim recognizer As New SpeechRecognitionEngine()
recognizer.SetInputToDefaultAudioDevice()
AddHandler recognizer.SpeechRecognized, AddressOf recognizer_SpeechRecognized
Try
Dim grammar As New Grammar(My.Application.Info.DirectoryPath + "\grammar.xml", "thema")
recognizer.UnloadAllGrammars()
recognizer.LoadGrammar(grammar)
recognizer.RecognizeAsync(RecognizeMode.Multiple)
Catch ex As Exception
Console.WriteLine("Exception aufgetreten: " & ex.Message)
Console.Read()
Exit Sub
End Try
End Sub
Private Sub recognizer_SpeechRecognized(ByVal sender As Object, ByVal e As System.Speech.Recognition.SpeechRecognizedEventArgs)
spoken_text = e.Result.Text
Console.WriteLine((e.Result.Text & " (") + e.Result.Confidence.ToString() & ")")
If spoken_text = "Hallo" Then
Console.WriteLine("Hallo")
End If
End Sub
End Module
und hier der code von der 'grammar.xml' Datei:
Code:
<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>Test</item>
<item>Dies ist ein Test</item>
<item>Beenden</item>
<item>Hallo</item>
</one-of>
</rule>
</grammar>
Wenn ich das Programm starte, bekomme ich folgende Fehlermeldung:
Code:
The language for the grammar does not match the language of the speech recognizer.
Was habe ich falsch gemacht?
Es wäre wirklich nett wenn ich hilfe bekomme.
Danke schonmal im Vorraus,
WITZIG