Register for your free account! | Forgot your password?

Go Back   elitepvpers > Off-Topics > Tutorials
You last visited: Today at 18:14

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Tutorial] Spracherkennung in AutoIt (WinXP)

Discussion on [Tutorial] Spracherkennung in AutoIt (WinXP) within the Tutorials forum part of the Off-Topics category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2010
Posts: 41
Received Thanks: 6
[Tutorial] Spracherkennung in AutoIt (WinXP)

Einleitung
Für längere Zeit suchte Ich verzweifelt nach einer Möglichkeit, einem AutoIt Skript über ein Headset mündliche Befehle zu erteilen. Ich wollte wenn möglich nicht auf überteuerte zusätzliche Programme wie z.B. "Dragon Naturally Speaking" zurückgreifen, und hatte auch standartmäßig auf Win XP keine windowseigene Spracherkennung. Nachdem mir mehrmals in verschiedenen Skriptercommunitys versichert wurde, dass so etwas nicht möglich sei, wurde Ich durch Zufall in fündig. Es ist nämlich sehr wohl möglich und funktioniert sehr gut.

Das braucht man:



So funktioniert es:
Zuerst einmal müsst ihr das Microsoft Speech SDK installieren.
Ab dann könnt ihr die das oben verlinkte Script wie gewohnt in jedes andere Skript einbinden:
Code:
#include <SAPIListBox.au3>
Die SAPIListBox.au3 ermöglicht es euch dann in erster Linie, in eure GUI eine spezielle "SAPI"-ListBox einzubauen. Diese unterscheidet sich optisch nicht von der normalen ListBox, ist jedoch Voice sensitive. Sie makiert wenn aktiviert automatisch (durch Zugriff auf das Microsoft Speech SDK) denjenigen ihrer Einträge, welchen Sie gehört zu meinen glaubt. Zunächst braucht ihr dafür eine GUI, in welche ihr includen könnt:
Code:
#include <GuiConstantsEx.au3>
[COLOR="Red"]#include <SAPIListBox.au3>[/COLOR]


$fester = GUICreate("Beispiel zur Spracherkennung",400,300)

GUISetState()

While 1
	$msg = GUIGetMsg()

	
	switch $msg
	case $GUI_Event_Close
		ExitLoop
	EndSwitch
WEnd
Nun müsst ihr in diese GUI die erwähnte SAPIListBox einbauen:
Code:
$fester = GUICreate("Beispiel zur Spracherkennung",400,300)
[COLOR="Red"]$wortbox = _GUICtrlSAPIListBox_Create(10, 10, 380, 280)[/COLOR]
Nun müsst ihr noch angeben, welche Wörter die SAPIListBox erkennen soll, und sie enabeln (damit sie anfängt darauf zu achten was gesagt wird):
Code:
#include <GuiConstantsEx.au3>
#include <SAPIListBox.au3>

[COLOR="Green"]dim $msg, $wortbox_array[5] = ["Up","Down","Left","Right","Wait"][/COLOR]

$fester = GUICreate("Beispiel zur Spracherkennung",400,300)
$wortbox = _GUICtrlSAPIListBox_Create(10, 10, 380, 280)

GUISetState()

[COLOR="Red"]_GUICtrlSAPIListBox_EnableSpeech($wortbox, 1)[/COLOR]
[COLOR="Green"]_GUICtrlSAPIListBox_AddArray($wortbox, $wortbox_array)[/COLOR]
Und ganz zum Schluss müsst ihr noch angeben, was passieren soll, wenn die SAPIListBox ein bestimmtes Wort erkannt hat (in diesem Fall die Maus bewegen:
Code:
While 1
	$msg = GUIGetMsg()
	[COLOR="Red"]$mausposition = MouseGetPos()[/COLOR]
	
	[COLOR="Red"]if _GUICtrlSAPIListBox_CurSelChanged($wortbox) = True Then
		
		if StringCompare(_GUICtrlSAPIListBox_GetText($wortbox), "Up") = 0 Then
			MouseMove($mausposition[0],$mausposition[1]-50)
		EndIf
		
		if StringCompare(_GUICtrlSAPIListBox_GetText($wortbox), "Down") = 0 Then
			MouseMove($mausposition[0],$mausposition[1]+50)
		EndIf
		
		if StringCompare(_GUICtrlSAPIListBox_GetText($wortbox), "Left") = 0 Then
			MouseMove($mausposition[0]-50,$mausposition[1])
		EndIf
		
		if StringCompare(_GUICtrlSAPIListBox_GetText($wortbox), "Right") = 0 Then
			MouseMove($mausposition[0]+50,$mausposition[1])
		EndIf
	EndIf[/COLOR]

	
	switch $msg
	case $GUI_Event_Close
		ExitLoop
	EndSwitch
WEnd
Umfangreiche Beispielskripts findet ihr im oben verlinkten Thread.

UDF Befehle

Troubleshooting & FAQ
Q: Funktioniert das ganze auch für Vista und/oder Win7?
A: Dem englischen Forum nach nicht - ich habe es aber auch noch nicht getestet.

Q: Obwohl ich das Microsoft Speech SDK installiert habe, bekomme ich sobald Ich mein Skript ausführen möchte einen "Could not create SAPI List Box control. Ensure you have installed the Microsoft Speech SDK 5.1..." Error?!
A: Man muss in diesem Fall von Hand die "SAPI51ListBox.ocx" Active X control auf seinem Computer registrieren. Dazu klickt man auf "Start" > "Ausführen", gibt den Pfad zur .ocx Datei an ("C:\Programme\Microsoft Speech SDK 5.1\Bin\SAPI51ListBox.ocx") und drückt OK. Nun sollte es funktionieren.

Credits
Die UDF (SAPIListBox.au3) sowie teile des Tutorials stammen von seangriffin von autoitscript.com. Ich habe nur zusammengefasst und auf Deutsch übersetzt.
Evil_Warlock is offline  
Thanks
1 User
Old 11/09/2010, 18:46   #2
 
Fruschel's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 122
Received Thanks: 52
Und da ich mal annehme, dass hier kaum Profis in Sachen Programmierung rumlaufen, frage ich Dich, oh heiliger , wie denn sowas schickes machbar ist, wenn wir uns Lehrlinge an das Skript selber ransetzen?



MfG, Understood.
Fruschel is offline  
Old 11/09/2010, 18:52   #3
 
elite*gold: 0
Join Date: Feb 2010
Posts: 194
Received Thanks: 176
aber so kuhl is das jetz auch wieder nich...
iDunnoi is offline  
Old 11/09/2010, 21:38   #4
 
elite*gold: 0
Join Date: Feb 2010
Posts: 41
Received Thanks: 6
Quote:
Originally Posted by Fruschel View Post
Und da ich mal annehme, dass hier kaum Profis in Sachen Programmierung rumlaufen, frage ich Dich, oh heiliger , wie denn sowas schickes machbar ist, wenn wir uns Lehrlinge an das Skript selber ransetzen?
^^

EDIT:
Ok, ich hoffe jetzt ist es etwas verständlicher
Evil_Warlock is offline  
Old 11/26/2012, 17:52   #5
 
elite*gold: 0
Join Date: Nov 2012
Posts: 3
Received Thanks: 0
Sry fürs Ausgraben aber ich glaube das ist ein wirklich seehr interessantes Thema!
Ich hab die SDK installiert jedoch kann ich eben diese Active X Control nicht aktivieren!
Keine Ahnung Windows kann die Datei nicht öffnen und erwartet halt von mir das ich ihm sage welches Programme es dazu nutzen soll...
Hat da jemand eine Lösung für?
Skripter is offline  
Old 11/26/2012, 18:20   #6
 
elite*gold: 10
Join Date: Aug 2012
Posts: 813
Received Thanks: 106
Tutorials zum Thema Coding kommen hier rein ->
GodHacker is offline  
Old 11/27/2012, 20:01   #7
 
elite*gold: 0
Join Date: Nov 2012
Posts: 3
Received Thanks: 0
Was hat das mit Coding zu tun?
Ich möchte wissen wie ich die Active X Control
Skripter is offline  
Old 11/27/2012, 21:42   #8
 
elite*gold: 0
Join Date: May 2011
Posts: 4,069
Received Thanks: 740
10-8-2010
lolkenschlol is offline  
Old 11/28/2012, 13:23   #9
 
elite*gold: 0
Join Date: Nov 2012
Posts: 3
Received Thanks: 0
Ich nehme das mal als:
"Nein hier kann mir keiner helfen"
Skripter is offline  
Reply


Similar Threads Similar Threads
[AutoIt] Tutorial
06/01/2010 - AutoIt - 2 Replies
Heute zeige ich euch mal viele befehle Befehl 1 - MsgBox: - was macht dieder befehl ??? er eröfnet eine nachrichtenfenster -der befehl: MsgBox (0, "", "") -Erklärung 0 = es geht 0 -6 die zahl macht die buttons hier aufgezählt:
winxp shutdown msg + abort (autoit?)
07/07/2008 - General Coding - 6 Replies
Hey, i´m searching for some hints to solve the following problem: Everytime i click on start -> Shutdown, the shutdown progress should abort and a message like "bla bla do you rly rly ryl want to shutdown ?" should appear. Is there any way to use Autoit like p.e.: $start_button_coordinates = 534,234,234,234 function = "abbort shutdown and popup the meassage" onclick($start_button_coordinates,function) thanks in advance
Autoit Tutorial
01/29/2008 - AutoIt - 4 Replies
Hallo Liebe Com ich hab hier in letzter zeit immer was von dem Prog AUTOIT gehört das Scripts ausführt. Da hätte ich ein paar fragen... I Ist Autoit Scripten Schwer? II Wie lange braucht man bis man Sagen kann Ja ok ich Kann Autoit scripten (mit ner norm.Lern geschwindigkeit)? III Was für Möglichkeiten Bieten Autoit Scripts? (Kann man nur z.b Tastatur Anschläge Programiern oder auch Mausklicks bzw z.b das scannen von Monstern in einem MMoG)? IV Kennt ihr Gute tuts wo man es Gut Erklärt...



All times are GMT +1. The time now is 18:15.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.