Sprachsteuerung

  • VB.NET

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von NscMike.

    ErfinderDesRades schrieb:

    is doch logisch:
    einfach eine zweite Grammatik anlegen mit den Wörtern, die er nicht kennt.

    Ich meine, dass wenn ich "Hi" sage das er das dann in einer textbox wiedergibt. Ich meine der pc muss ja irgentwie das gesprochene mit der grammar
    abgleichen. Ich müsste ja sonst in der grammer jedes wort und jeden buchstaben eintippen. Geht es nicht, dass er das was er mit der grammar abgleicht in nen string umwandelt?
    csharp-tricks.blogspot.com/201…art-1-dictation-mode.html
    Sowas nur in .net :O

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „goraxer“ ()

    Hab mir lange überlegt ob ich nen C&P Code posten soll da die meisten daraus nichts lernen. Deshalb hab ich mich entschieden den Code mit ner kleinen C&P Bremse zu posten.
    Ich hoffe du schaust dir den Code gut an und verstehst ihn auch.

    Mit dem nachfolgendem Code wird alles was du sprichst ohne eine grammar.xml in einen String umgewandelt und in der TextBox ausgegeben.
    Da die Erkennung der Wörter ohne eine grammar.xml wesentlich schwerer ist muss man sehr deutlich sprechen und selbst dann kommt es desöfteren zu falschen Wörtern (einfach mal testen).


    VB.NET-Quellcode

    1. Dim recognitionEngine As New SpeechRecognitionEngine()
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. recognitionEngine.SetInputToDefaultAudioDevice()
    4. AddHandler recognitionEngine.SpeechRecognized, AddressOf recognizer_SpeechRecognized
    5. End Sub
    6. Private Sub stopGrammarButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles stopGrammarButton.Click
    7. recognitionEngine.RecognizeAsyncStop()
    8. recognitionEngine.RecognizeAsyncCancel()
    9. End Sub
    10. Private Sub startAsyncButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles startAsyncButton.Click
    11. recognitionEngine.UnloadAllGrammars()
    12. recognitionEngine.LoadGrammarAsync(New DictationGrammar())
    13. recognitionEngine.RecognizeAsync(RecognizeMode.Multiple)
    14. End Sub
    15. Private Sub recognizer_SpechRecognized(ByVal sender As Object, ByVal e As System.Speech.Recognition.SpeechRecognizedEventArgs)
    16. freeTextBox.Text &= e.Result.Text & " " & Environment.NewLine
    17. End Sub


    Verweis und import von System.Speech (.Recognition) nicht vergessen.


    Quelle:
    Speech Recognition with C# – Dictation and Custom grammar

    Code wurde von mir zerlegt und in VB.NET übersetzt.

    Ich hoffe du kommst mit dem Code zurecht.

    mfg Mike

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NscMike“ ()