Sprachsteuerung
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 88 Antworten in diesem Thema. Der letzte Beitrag () ist von Dodo.
-
-
-
-
-
-
Dodo schrieb:
Wie ich vermutet hatte, geht ein riesen hype los auf die Sprachsteuerung!
Ich wolte es mal testen ( kann es im moment auch eigentlich nicht gebrauchen ) aber zum Spasss halber mal
In Sharp geht es eigentlich wunderbar bin aber mit VB.Net am Kämpfen
Falls ich es schaffen sollte werde ich gerne helfen.
(Hab im mom aber nur wenig zeit ) -
SAR-71 schrieb:
Aber die Benutzung von der Spracherkennung die Windows bietet setzt voraus das man diese auf dem Rechner hat
Ich z.B. habe sie (warum auch immer) nicht auf dem Rechner
Geh bitte nochmal eine Seite zurück, da habe ich einen Link zum Speech SDK 5.1 von MS gepostet.
Diese IST die Spracherkennung.
Man kann sie also Problemlos herunterladen und installieren, dann funktioniert (wenn man die grammar.xml abändert) auch das gepostete
C#-Beispiel. -
Er meint wohl das es schlecht rüberkommt, wenn man den User auffordern muss was von MS runterzuladen.
-
Eine Sprachsteuerung ist, in der Form wie sie auf XP (und auch Vista) möglich ist, auch nichts für eine Breite an Usern.
Man kann es für sich selber realisieren, ja, aber in ein Programm für viele User einzubauen ist schon allein deswegen
nicht möglich, da man vor der Ersten Benutzung sein Profil soweit trainieren muss, dass es wenigsten ein bisschen was erkennt.
Edit:
@Eistee:
Auch in VB.net ist es nichts anderes.
Einzig bei der Portierung von Konsolenanwendung auf Windows-Forms bekomm ich nen Fehler, der mir an dieser Stelle recht unlogisch erscheint. -
Ich weiß gar nicht was ihr alle habt O.o
ich habe natürlich zuerst auch den c# getestet. Dann damit rumgespielt um ihn zu verstehen und dann eben in vb.net neu geschrieben, also nicht mit converter oder son mist. Dafür, das ichs das erste Mal gemacht habe hat es auf anhieb funktioniert, heißt also wer nicht ganz dumm ist bekommts och hin.
Wenn man nicht die schlechteste Aussprache hat erkennt das System die Stimme auch so. Ich habe mein System kein einziges Mal trainiert und es funktionieren trotzdem alle Wörter die ich einprogrammiere. -
Hier der Aktuelle Stand:
Wir wissen. dass
- mein gepostetes Beispiel funktioniert
- man es problemlos als Windosform-Anwendunk erstellen kann(bei mir klappts)
- man unter xp das Speech sdk von Microsoft braucht (danke Magerqurag )
- man die XML unter Xp aud Englisch stellen muss (sie seite 3)
Nur ein Problem hab ich noch:
"Der Wert liegt auserhalb des erwarteten bereichs")
Kann mir hierbei jemand helfen ich komm damit echt net zurecht. Sonst würde die Sprachsteuerung sogar funkenDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „huendi“ ()
-
huendi schrieb:
- man das Speech sdk von Microsoft braucht (danke Magerqurag ) -
@huendi:
- man es problemlos als Windosform-Anwendunk erstellen kann(bei mir klappts)
Nur ein Problem hab ich noch:
Das widerspricht sich wohl etwas ;D
Der gennante Fehler tritt eben nur bei Windowsformsanwendungen auf, bei ner Consolen-Application klappts wunderbar.
Dabei ist es egal ob C# oder Vb.net.
Der Fehler kann umgangen werden, wenn man den Befehl
in einen anderen Thread auslagert. (Warum auch immer.)
Dafür kommen im weiteren Verlauf des Codes noch mehr Fehler,
die auch nur unter Windowsforms auftreten, und die ich noch nicht beheben konnte. -
-
-
Hallo Zusammen. Ich bin neu in dem Forum aber ich denke ich kann euch weiter helfen! Ihr fügt den Verweiß "System.Speech" hinzu!
dann braucht ihr eine Textbox und ein button......löscht einfach alles in eurem Codefenster und fügt meine code ein! Wenn ihr das Programm ausführt, gebt den Text in eure Textbox ein und klickt auf den Button! Das wars!
VB.NET-Quellcode
- Imports System.SpeechPublic Class Form1
- Dim speech As System.Speech.Synthesis.SpeechSynthesizer
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- speech = New System.Speech.Synthesis.SpeechSynthesizer speech.SpeakAsync("Welcome " & TextBox1.Text)
- End Sub
- End Class
-
-
-
Habe XP und die SpeechSDK von Microsoft runtergeladen & installiert.
Habe diesen Code:
VB.NET-Quellcode
- Imports System
- Imports System.Collections.Generic
- Imports System.Linq
- Imports System.Speech
- Imports System.Speech.Recognition
- Imports System.Text
- Namespace mini_speech_demo
- Class Program
- ' Die main-Funktion wird alle Aufgaben ausführen. In einem größeren Programm würde man das eher auslagern.
- Private Shared Sub Main(ByVal args As String())
- ' Hier werden recognition-engine und grammar vorbereitet. SpeechRecognitionEngine bedeutet, dass nur unser Programm auf die Spracherkennung zugreift.
- Console.WriteLine("Firing up speech-demo")
- Dim recognizer As New SpeechRecognitionEngine()
- recognizer.SetInputToDefaultAudioDevice()
- ' hier setzen wir einen Event-Handler für das "Recognized"-Event. Es gibt noch eine Menge anderer Events.
- ' Die aufgerufene Funktion recognizer_SpeechRecognized wird aufgerufen.
- AddHandler recognizer.SpeechRecognized, AddressOf recognizer_SpeechRecognized
- ' der try-catch block ist eigentlich optional, aber ich hatte am Anfang so viele Exceptions, dass ich ihn drin gelassen habe.
- Try
- Dim grammar As New Grammar(My.Resources.grammar, "thema")
- recognizer.UnloadAllGrammars()
- recognizer.LoadGrammar(grammar)
- ' mit folgender Zeile wird die eigentliche Erkennung gestartet.
- recognizer.RecognizeAsync(RecognizeMode.Multiple)
- Catch e As Exception
- Console.WriteLine("Exception aufgetreten: " & e.Message)
- Exit Sub
- End Try
- ' wenn wir es bis hier geschafft haben, ist alles ok. Das zeigen wir dem Benutzer an...
- Console.WriteLine("Speech-Engine up and running")
- ' ... und gehen in eine Schleife, die auf Tastendruck beendet wird (und mit ihr auch das Programm).
- While Not Console.KeyAvailable
- System.Threading.Thread.Sleep(100)
- End While
- Console.WriteLine("terminating.")
- ' Jetzt noch schnell aufräumen.
- recognizer.Dispose()
- Exit Sub
- End Sub
- ' Diese Funktion wird aufgerufen, sobald etwas erkannt wurde.
- ' In e.Result.Text steht der erkannte Text.
- Private Shared Sub recognizer_SpeechRecognized(ByVal sender As Object, ByVal e As System.Speech.Recognition.SpeechRecognizedEventArgs)
- Console.WriteLine((e.Result.Text & " (") + e.Result.Confidence.ToString() & ")")
- End Sub
- End Class
- End Namespace
in einer Consolen-Anwendung. Allerdings kommt immer als Fehler:
Fehler 1 "Sub Main" wurde nicht in "ConsoleApplication2.Module1" gefunden. ConsoleApplication2
Habe Visual Basic 2008 Profesionell. -
-
Ähnliche Themen
-
GirlOnFire - - Sonstige Problemstellungen
-
Problem Mit Speech Recognition
joeyyeah - - Sonstige Problemstellungen -
CrosSLight - - Sonstige Problemstellungen