Pc Sprechen lassen.

07/25/2011 14:13 freehuntx#1
Hallo.

Ich wollte denen unter euch die es nicht kennen, zeigen, wie ihr euren Pc in englischem akzent sprechen lässt.

Mit Folgender funktion:

Code:
Func Talk($text)
    $StrText=($text) 
    $ObjVoice = ObjCreate("SAPI.SpVoice")
    $ObjVoice.Speak ($StrText)
EndFunc
Und hier ein beispiel.


Code:
Talk("Hello and Welcome. I am DeineMudda.")

Func Talk($text)
    $StrText=($text) 
    $ObjVoice = ObjCreate("SAPI.SpVoice")
    $ObjVoice.Speak ($StrText)
EndFunc



Und hier nochmal der Source, von einem kleinen tool, wenn ihr niemandem zum reden habt xD

Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Pc Talker", 412, 71, 192, 124)
$Label1 = GUICtrlCreateLabel("Text:", 8, 8, 28, 17)
$Input1 = GUICtrlCreateInput("Hello and Welcome. This is a Test.", 48, 8, 345, 21)
$Button1 = GUICtrlCreateButton("Speak it!", 152, 40, 107, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
			
		Case $Button1
			guictrlsetstate($Button1, $GUI_DISABLE)
			sleep(200)
			Talk(Guictrlread($Input1))
            guictrlsetstate($Button1, $GUI_ENABLE)
	EndSwitch
WEnd






Func Talk($text)
$StrText=($text) 
$ObjVoice = ObjCreate("SAPI.SpVoice")
$ObjVoice.Speak ($StrText)
EndFunc




So nun fragt ihr euch vielleicht: "Wozu soll das gut sein?"

Und hier die Antwort:

"Zum beispiel um dem benutzer nicht nur optisch, sondern auch akustisch manches klar zu machen ;)

Wenn ihr ihm zum beispiel mitteilen wollt, dass er etwas gestartet hat, könnt ihr das optisch und akustisch zeigen. Zum Beispiel 'Suspended Process successfully.'"

Hierbei ist es natürlich wichtig, dass ihr in klarem englisch schreibt.
07/25/2011 14:14 SIEG.FRIED#2
Danke. Kann man bestimmt irgendwann einmal gebrauchen :)
07/25/2011 16:32 bollen#3
Geht das auch mit deutschem akzent??
07/25/2011 19:33 dommerle#4
Thanks, das hätte ich sonst irgendwann mal gesucht und so weiß ich gleich, wie es geht! :D
07/25/2011 21:17 kknb#5
wollts mal ausprobieren bekomme aber fehlermeldung

Code:
 ==> ....Variable must be of type "Object".:
$ObjVoice.Speak ($StrText)
$ObjVoice^ ERROR
@error returned mir auf jedenfall keinen fehler.

hm hab eben festgestellt das die ObjCreate beispiele aus der hilfe auch nicht funktionieren, vielleicht liegts am os? win7 64bit
07/25/2011 23:23 | Moep |#6
Quote:
Originally Posted by kknb View Post
wollts mal ausprobieren bekomme aber fehlermeldung

Code:
 ==> ....Variable must be of type "Object".:
$ObjVoice.Speak ($StrText)
$ObjVoice^ ERROR
@error returned mir auf jedenfall keinen fehler.

hm hab eben festgestellt das die ObjCreate beispiele aus der hilfe auch nicht funktionieren, vielleicht liegts am os? win7 64bit
Daran liegts nicht, hab genau dieselbe Konfiguration.
Bei mir hat dass Beispiel Script, so wie es ist, auf Anhieb funktioniert.
Code:
Talk("Hello and Welcome. I am DeineMudda.")

Func Talk($text)
    $StrText=($text) 
    $ObjVoice = ObjCreate("SAPI.SpVoice")
    $ObjVoice.Speak ($StrText)
EndFunc
Installier mal die neuste Version von Autoit.
07/26/2011 00:52 freehuntx#7
Quote:
Originally Posted by bollen View Post
Geht das auch mit deutschem akzent??
Nein Leider nicht.

Aber ich finde englisch sowieso viel besser, weil du damit nicht nur deutsche, sondern leute aller welt bedienst.
07/26/2011 14:37 PenGuin :O#8
Man kann stimmen hinzu installieren.
Ansonsten pretty basic, gibt ne UDF auf autoitscript.com
07/27/2011 11:34 freehuntx#9
Quote:
Originally Posted by PenGuin :O View Post
Man kann stimmen hinzu installieren.
Ansonsten pretty basic, gibt ne UDF auf autoitscript.com
Schon klar dass man stimmen installieren kann, aber die sind bis zu 100 mb groß.
07/27/2011 16:48 bollen#10
Wenn es Auf Win7 x64 nicht funktioniert dan setz mal
Code:
#AutoIt3Wrapper_usex64=n
an den Anfang