TTS_GenerateFile mit "Text To Speech" kein Auswahl der Stimme möglich

Nach dem ich mein IPS Computer gezwungener Maßen auf auf Win7 64bit neu installiert habe und mit IPS 4.2 versehen habe, gibt es jetzt ein Problem mit der deutschen Sprachausgabe „Steffi“ unter IPS.

Auf dem WIN7 64bit Computer habe ich die TTS „Steffi“ nach installiert und auch die sapi.dll (sapi.cpl) angepasst.
In Windows selber kann man die TTS „Steffi“ jetzt auswählen und alles ist OK.

Aber in IPS im „Text To Speech“ Modul kann man die TTS „Steffi“ nicht mehr auswählen !

Ist das ein BUG von IPS ??? wie gesagt in Win7 selber geht es. !!

Hallo, keiner eine Idee was das sein kann ?

Bei mir geht / ging es nicht mehr seit dem Wechsel von XP auf Windows 7 64bit …
ich nutze seitdem nircmd.exe - wie hier im Forum „irgendwo“ in den tiefen beschrieben :slight_smile:

Inzwischen bin ich irgendwann auf Windows 8.1 angekommen und habe es jedoch nie wieder mit den IPS Funktionen probiert.

Grüsse,
MaLu

Das abspielen von Sound Dateien geht ja.

Aber das Umwandel von Text zu Sound geht nicht. In IPS lässt sich die Steffi die in WIN7 64bit ist nicht anwählen.

Würde mich freue wenn die Entwickler von IPS mal was dazu sagen, ob es jetzt eine IPS Problem ist ?

Ich habe es gerade einmal bei meinem Windows 10 System ausprobiert und TTS ist einwandfrei verwendbar, allerdings habe ich „Steffi“ noch nicht installiert. Wo genau liegt das Problem? Hast du überhaupt keine Engines zur Auswahl oder wird nur die zusätzlich installierte „Steffi“ nicht erkannt?

Damit TTS überhaupt in Windows 7 funktioniert muss den Dienst noch ein bisschen umkonfigurieren (siehe Doku). Ist das geschehen? Und wenn ja, funktioniert die Sprachausgabe ohne Steffi in IPS?

Wo genau das Problem liegt, habe ich im ersten Posting beschrieben.

TTS funktionier in WIN7 mit Steffi und auch in englisch.

TTS funktionier in IPS nur in Englisch, Steffi ist nicht auswählbar/sichtbar, im Module "Text to Speech "

Danke für die Erläuterung. Ich habe auch nochmal recherchiert. Steffi ist eine 32bit-Stimme, IP-Symcon ist allerdings ein 64bit-Programm. Steffi ist auch in einem 64bit-Windows nur dann auswählbar, wenn du die 32bit-Einstellungen öffnest, normalerweise aber nicht. Somit ist Steffi leider nicht mit IP-Symcon kompatibel. Du müsstest also eine 64bit-Stimme verwenden.

Hatte das Problem auch, hier mal mein letzter Post zu dem Thema 32bit Stimmen mit 64bit IPS verwenden:


Um das Thema etwas abzuschließen, hier mein derzeitiger Workaround:


	function tts_play($ansagetext)
 	{
 		$datei = fopen(IPS_GetKernelDirEx()."\webfront\user\Sprachausgabe\Textausgabe.txt","w+");
		fwrite($datei, $ansagetext); rewind($datei); fclose($datei);
		IPS_ExecuteEx(IPS_GetKernelDirEx()."\webfront\user\Sprachausgabe\sprich.bat","",false,false,1);
 	}

in der .bat steht:

@echo off
C:\Windows\syswow64\cscript.exe "C:\Programme\Jampal\ptts.vbs" -voice Stefan -u C:\IP-Symcon\webfront\user\Sprachausgabe\Textausgabe.txt

Einfach, aber tut erstmal.:rolleyes:

Edit: Achja der Link zu Jampal --> Jampal Text to Speech

Danke für den Tip. Jetzt läuft es da mit.

wo bekomme ich die Voice(-voice Stefan) her. Da bring er mir immer noch einen Fehler.

Diese Stimme ist von Loquendo und kostet etwas. Neuerdings finde ich nur keine Preise mehr auf der Website, keine Ahnung ob man die nicht mehr kaufen kann oder ob man da anfragen muss:confused:

Ansonsten einfach Stefan durch den Namen einer installierten Stimme ersetzten, dann sollte es gehen.

Ich habe Windows 10 64Bit im Einsatz und auch die Loquendo Stimme Stefan. Bei mir funktionierte diese bis vor ca. einem Monat einwandfrei. Aktuell wird sie nicht mehr im System angezeigt (weder im IPS, noch in Windows selbst). Neuinstallation der Stimme hat auch nichts gebracht. Mit der Umgehungslösung von Brausepaul funktioniert es wieder, obwohl sie in Windows („Einstellungen von Text zu Sprache“) ja gar nicht angezeigt wird. Weiß jemand wo man die Stimme in Windows selbst sich anzeigen lassen kann?

Besten Dank!

Deine Stimme ist bestimmt nur für Windows 32-Bit und deine Windows (und IP-Symcon) sind Mitterweile 64-Bit. Frag mal bei Loquendo nach einer 64-Bit Version deiner Stimme.

paresy

Wie kann ich denn mit der Funktion „function tts_play($ansagetext)“ auch korrekt Umlaute übergeben bzw. vorlesen lassen?

Mit welcher Stimme tritt denn das Problem auf? Hast du mal ein Beispiel?

paresy

Ich habe IPS auf einem WIN10 64bit PC.

Als deutsche Sprachen habe ich unter den Win10 Einstellungen (Stefan, Katja, Hedda).
Ich kann aber in IPS nur die Hedda auswählen, und die Spricht ein ganz komische Deutsch :slight_smile:

Unter Win7 32bit, war alles Super mit der „Steffi“.
Seitdem ich auf 64bit bin, ist es nur noch Schrot. Da sollte sich IPS mal was überlegen.

Ich habe Loquendo im Einsatz, hier ein Beispiel:


    function tts_play($ansagetext)
     {
         $datei = fopen(IPS_GetKernelDirEx()."\webfront\user\Sprachausgabe\Textausgabe.txt","w+");
        fwrite($datei, $ansagetext); rewind($datei); fclose($datei);
        IPS_ExecuteEx(IPS_GetKernelDirEx()."\webfront\user\Sprachausgabe\sprich.bat","",false,false,1);
     }  

tts_play ("Flüstermodus aktiviert");

Das „Ü“ wird nicht als Ü ausgesprochen, sondern als „1/4 Stern“ das liegt aber denke ich irgendwie am Zeichensatz oder sowas, nicht an der Stimme, es wird ja in eine CMD übergeben…

Nur wie kann ich einen Umlaut korrekt übergeben?

in der .bat einfach noch -e ASCII hinzufügen:

@echo off
C:\Windows\syswow64\cscript.exe "C:\Programme\Jampal\ptts.vbs" -e ASCII -voice Stefan -u C:\IP-Symcon\webfront\user\Sprachausgabe\Textausgabe.txt

Mir war noch gar nicht aufgefallen das die Umlaute falsch gesprochen werden… die paar Sätze die IPS mit mir wechselt haben zufällig keine enthalten. Aber mit der ASCII Ergänzung tut das jetzt auch bei Umlauten korrekt.:smiley:

Danke für deine Korrektur, bei mir gehts leider trotzdem nicht.

Die Textdatei erstellt er bei mir aber immer als UTF-8. Ist das bei dir auch so???

Hm keine Ahnung, kann auch an Systemeinstellungen liegen wie die Datei dann erzeugt wird.
Probier mal das Format explizit vorzugeben:


	function tts_play($sk,$ansagetext,$ton,$modus)
 	{
 		$datei = fopen(IPS_GetKernelDirEx()."\webfront\user\Sprachausgabe\Textausgabe.txt","w+");
		$ansagetext=iconv("UTF-8", "ISO-8859-1", $ansagetext);
		fwrite($datei, $ansagetext);
		rewind($datei);
		fclose($datei);
		IPS_ExecuteEx(IPS_GetKernelDirEx()."\webfront\user\Sprachausgabe\sprich.bat","",false,true,1);
 	}