Text diktieren

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Gather.

    Text diktieren

    Hallo Community.


    Ich bitte um eure Hilfe.
    Ich möchte nämlich einen Text diktieren (in mein Mikrofon) und dass dieser in einer textbox angegeben wird.

    Für meine Spracherkennung benutze ich : Spracherkennung da DiesesTutorialnicht funktioniert (hat mehrere Gründe)

    Aber B2T:
    Meine 2. Frage wäre dann:
    Wie kann ich einen Text der z.B: in einer Textbox steht sogesagt "senden".

    Damit meine ich, ich klicke auf einen Button (Der Internetbrowser öffen), und der text der in der Textbox steht wird oben in der url leiste eingetragen.


    Bitte um eure Hilfe.

    Danke im Vorraus.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    1. Wieso brauch ich das?
    2. Nein?
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Ist das nicht atm egal?

    Ich hab ja keine ahnung wie ich mal diktiere.
    Sobald dass geht kann ich das ja machen.

    Soviel zu frage 1

    wie stehts mit frage 2?
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Die Spracherkennung wird bei einem erkannten Wort aus dem Grammer ein Event Feuern. In diesem Event kannst du nun bestimmen was gemacht werden soll. Entweder das erkannte Wort einer Textbox zuweisen, oder mittels SendKeys() an das momentan aktive Fenster schicken oder was auch immer.

    Zum Trainieren. Was meinst du wie die Spracherkennung funktioniert? Jedes Wort kann mittels eines Synthiesizers als digitale Werte erzeugt werden, entweder um das Wort auszugeben (Sprachwiedergabe) oder um es mit etwas durchs Mikrophon aufgenommen zu vergleichen. Nun spricht jeder Mensch aber anders, jedoch die Grundinformation ist ähnlich, aber je mehr du dein System auf deine Sprache trainierst um so besser kann es worte erkennen.
    Was das system macht ist grob gesagt nur vergleichen, exisitiert eine Wave Form vom Wort "Hallo" und du sprichst "Hallo" ins Mic wird die länge, amplituden zu den bestimmten Zeiten usw. verglichen und je besser das passt umso wahrscheinlicher ist, dass das aufgenommene dem Wort entspricht was gesucht ist.

    Welches Betriebssystem hast du?? XP oder >Vista? Weil bei XP is bloß englische Spracherkennung dabei, ab Vista gibts auch deutsche vom System aus, auf die man zugreifen kann mit VB.
    Ich hab Win7 64 Bit.

    So sieht das derzeit aus.
    Ich habe es für den Anfang mal nur mit if anweisungen gemacht:

    Hier ein Kleiner ausschnitt:

    VB.NET-Quellcode

    1. Dim Wörter() As String = New String() {"Festplatte C öffnen"}
    2. Dim Input As New nSpeech.SpeechInput(Sub(Text As String)
    3. If Text = "Festplatte C öffnen" Then
    4. Process.Start("C:\")
    5. End If
    6. End Sub


    Ich kann doch nicht jedes Wort rein schreiben.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Das heißt, ich müsste Theorietisch, tausende wörter in eine liste schreiben?
    Da muss es doch andere methoden geben oder nicht?
    Ich kann mich noch an BlueSpeak errinern, da wurde doch das Wort erkannt (was diktiert wurde) oder die Zahlen und in Wikipedia gesucht.

    Ich hätte da eine Idee:(ist zwar irgendwie nervig aber)
    Ich nenne alle befehle um (so wie man sie nie sagen würde).

    Wie kann ich dann sagen, dass wenn der befehl unter wörter ist dann passiert die dazu passende funktion.
    Wenn nicht wird der Text geschrieben / gesendet.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Weiß jmd. wie ich das verwirklichen kann?
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!