Sprachausgabe mit Linguatec VoiceReader

Hallo,

funktioniert denn die kleine doVoice.exe von Sleepy noch in version 2.2?

Habe nämlich ein Problem damit.Es kommt gar keine Stimme.
VoiceReader ist installiert.Beim ausführen des Skripts öffnet sich auch VRDirect.
Aber es kommt nix.
Da ja wohl nur mit Zwischenablage gearbeitet wird hab ich das mal gestestet.
Direkt etwas kopieren und vorlesen lassen geht.Wo kann ich noch suchen?
Es ist Win7 installiert.

<?
function say($text)
{

   IPS_ExecuteEx("C:/doVoice.exe" , $text,false,false,1);
   
   }
say("Hallo Welt");

?>

Hast Du es schon mal so probiert.

<? 
function say() 
{ 
   IPS_ExecuteEx("C:/doVoice.exe", "", false, false, 1); 
} 
say("Hallo Welt"); 
?>

Hallo Rainer,

nein,auch nicht.
Das gleiche wie oben.VRDirect öffnet sich,aber keine Wiedergabe.
Werde VR nochmal neu installieren.Vielleicht hilfts.
Kann das auch am Soundkartentreiber liegen?Aber das Programm läuft ja eigentlich gut.

Hallo zusammen,

ich habe mich nun nach der Umstellung auf Win7 64bit mit der TTS Ausgabe zu kämpfen.
Ich habe nun mal ein bisschen mit dem Linguatec Voice Reader und der DoVoice gespielt.
Das funktioniert soweit, nur leider fehlt mir der Status des Readers, damit ich den nänchsten Text senden kann.
Die einzige Möglichkeit die ich gefunden habe das festzustellen ist der Speicherverbrauch des Prozesses des VoiceReaders.

Hier nun meine Frage:
Gibt es eine Möglichkeit aus IPS oder PHP herraus, den Speicherverbrauches eines Prozesses in IPS einzulesen?
In der Doku bin ich nicht fündig geworden und bei PHP weiss ich nicht genau, wo ich suchen soll.
Ist jemanden so eine Funktion schon einmal übwr den Weg gelaufen?

Viele Grüße,
Doc

Wirklich keiner eine Idee, wie man den Status oder Auslastung eines Prozesses in PHP bekommen kann oder gibt es da keine Möglichkeit?

Viele Grüße,
Doc

Hi Doc,
Speicherverbrauch eines Prozesses ermitteln z.B. mit ToniTools:

Bsp:
TT_GetProcessMemory(‚127.0.0.1‘, ‚ips_console.exe‘)

Hallo Doc,

Das Teil läuft doch nur auf einer primären Soundkarte, deshalb hatte ich das damals auch eingestampft. Hast Du nicht mehrere?

…hmm, TonisTools würde ich lieber nicht verwenden.
Damit bin ich bei jedem Update wieder darauf angewiesen, dass das auch weiter entwickelt wird.

Ich habe eigentlich nur eine Soundkarte, aber auch Sprachausgabe über weitere Squeezeboxen. Das ist dann wahrscheinlich in der Tat ein weiteres Problem.

Der Umzug auf Win7 x64 hat eigentlich so gut funktioniert mit allen Treibern, nur TTS will damit nicht mehr so funktionieren. :wink:

Grüße,
Doc

Hallo,

ich möchte die Frage einmal aufwärmen - gibt es aktuelle Tools um den VoiceReader über Direktaufruf mit beliebigem Text als Parameter zu starten?

Danke im Voraus.

vG Tom

Suche auch nach einer Lösung um Linguatec in der 2.5, und natürlich am schönsten auch in Folgenden, einzusetzen. So das man den Text einfach in das Skript eintipt und/oder aus Variablen besteht (Ken hatte es mir mal mit der, ich glaube Steffi nannte er sie, gezeigt. Das hatte ich so weit verstanden das ich wenigstens die Texte einbinden konnte. Nur ist die Qualität nich so). Habe schon viel die „suche“ genutzt aber nichts passendes gefunden.
Der Text soll für das ISDN-Modul und Soundkarte sein.

Danke und Gruß

Jan

Hallo!

Bin gerade erst über diesen Thread gestolpert als ich nach einer Lösung zu einem anderen Problem gesucht hab.

Für den Einsatz auf meinem Server hab ich mir ein kleines AutoIt-Script gebastelt, welches mit VRDirect.exe arbeitet und (hoffentlich) genau die gewünschte Funktion bietet:

  • Zu sprechender Text direkt per Kommandozeile oder
  • aus einer Datei
  • Wartet bis die Sprachausgabe bzw. Generierung der Ausgabedatei abgeschlossen ist.
  • Kann auch mit ausgeblendetem VRDirect-Fenster umgehen (erscheint nur während der Sprachausgabe)
  • Ausführliche Rückmeldung bei Fehlern (13 verschiedene Errorlevels)

Nun zur IPS-Integration:

Das Tool wird über IPS_Execute oder IPS_ExecuteEx gestartet, der Rückgabewert der Funktion entspricht dem Errorlevel bei Einsatz in einem DOS-Batch

Einige Beispiele:

Sagt direkt „Guten Tag“:

VRBox say --text "Guten Tag."

Erzeugt eine Datei mit dem Text aus „Hinweise.txt“:

VRBox save -d "c:\Ich\bin\ein Verzeichnis\Hinweise.txt" --ziel "d:\Ein\Ausgabe\Verzeichnis\Viel Text" -e MP3

Hier noch die Ausführliche Hilfe, die auch jederzeit per

VRBox --help

abgerufen werden kann:


D:\Thorsten>vrbox --help

      VRBox

      Direkte Sprachausgabe oder Erzeugung von WAV bzw. MP3-Dateien.

      Rufen Sie VRBox wie folgt auf:
          VRBox befehl parameter


      Folgende Befehle werden von VRBox erkannt:
         say               Startet die sofortige Sprachausgabe des Textes
         save              Startet die Erzeugung einer Audiodatei des Textes


      Der Befehl 'say' erfordert die folgenden Parameter:
         -t, --text        Der auszugebene Text. Setzten Sie den Text in doppelte Anfuehrungszeichen (").
                               Beispiel: -t "Guten Tag, wie geht es ihnen?"

         -d, --datei       Die auszugebene Textdatei. Dateinamen mit Leerzeichen muessen in doppelte Anfuehrungszeichen (")
                           gefasst werden. Der Parameter -d kann nicht gleichzeitig mit -t verwendet werden!
                               Beispiel: -d "C:\Meine Textdateien\Guten Morgen.txt"

      Der Befehl 'save' erfordert die folgenden Parameter:
         -t, --text        Der auszugebene Text. Setzten Sie den Text in doppelte Anfuehrungszeichen (").
                               Beispiel: -t "Guten Tag, wie geht es ihnen?"

         -d, --datei       Die auszugebene Textdatei. Dateinamen mit Leerzeichen muessen in doppelte Anfuehrungszeichen (")
                           gefasst werden. Der Parameter -d kann nicht gleichzeitig mit -t verwendet werden!
                               Beispiel: -d "C:\Meine Textdateien\Guten Morgen.txt"

         -z, --ziel        Die zu erstellende Audiodatei. Dateiname darf auch ein Pfadangabe enthalten aber KEINE Erweiterung (ohne
                           .WAV bzw. .MP3). Den Dateityp muessen Sie vorab im Einstellungsdialog von VoiceReader Direkt auswaehlen.
                           Schliessen Sie Dateinamen mit Leerzeichen in doppelte Anfuehrungszeichen (") ein.
                               Beispiel: -z "D:\Soundfiles\Good morning"

         -e, --extension   Mit diesem Parameter informieren Sie VRBox ueber den zu verwendenen Dateityp. Diese Angabe dient nur dazu,
                           beim Loeschen einer evtl. vorhandenen Ausgabedatei den richtigen Dateityp zu waehlen. Ohne diese Angabe wird
                           VRBox nach beiden Varianten suchen und, sofern vorhanden, auch beide loeschen.
                               Beispiel: -e "mp3"


      VRBox signalisiert per Errorlevel das Ergebnis der Aktion. Die Errorlevel werden gemaess folgender Tabelle gesetzt:

        ERRORLEVEL | Bedeutung
        ==============================================================================
                 0 | Fehlerfreie Ausfuehrung
                 1 | Befehl und Parameter fehlen
                 2 | Unbekannter Befehl angegeben
                 3 | Die Anzahl der Parameter stimmt nicht
                 4 | Unbekannter Parameter angegeben
                 5 | VRDirect.exe kann nicht gestartet werden. Pruefen Sie die Pfadangabe in der .ini-Datei
                 6 | Das Textfenster von VRDirect konnte nicht ausgeblendet werden
                 7 | Das VRDirect-Fenster konnte nicht sichtbar gemacht werden
                 8 | Textdatei nicht gefunden. Pruefen Sie die Pfadangabe im Parameter -d / --datei
                 9 | Kein Text zum vorlesen! Sowohl Parameter  -t/--text  als auch  -d/--datei  fehlen
                10 | Befehl SAVE ohne Ziel. Parameter -z/--ziel ist nicht angegeben
                11 | Loeschen der Zieldatei ist fehlgeschlagen. Pruefen Sie ob ggf. andere Programme noch darauf zugreifen
                12 | Fehler beim Warten auf den 'Speichern unter'-Dialog
                13 | Ein Parameter wurde doppelt angegeben

Sollten Probleme auftreten o.ä. bitte einfach hier im Thread stellen (oder auf Wunsch auch per PM)

Und hier noch das Tool selber (als ZIP):
VRBox.zip (330 KB)

Hallo
Wie sieht den der Eintrag in der INI-Datei aus bei Fehler 5 ?

Hi

@1007:
Hm, kommt darauf an in welchem Verzeichnis deine VRDirect.exe liegt.

Bei mit liegt sie unter C:\Program Files\linguatec\VoiceReader, daher muss die Pfadangabe in der INI-Datei (Schlüssel: VRDFile) wie folgt lauten:

C:\Program Files\linguatec\VRDirect.exe

Wäre die Software z.B. unter D:\Programme\VoiceReader installliert wäre der entsprechende Eintrag:

D:\Programme\VoiceReader\VRDirect.exe

Wichtig ist, das die Backslash immer doppelt angegeben werden.

Sollten weitere Probleme auftreten kann auch eine erweiterte Debug-Ausgabe aktiviert werden. Dazu muss im INI-File ein neuer Abschnitt Extras erstellt und eine zusätzliche Option Debug auf ON gesetzt werden:



[Extras]
Debug=ON

Damit ist der Rückgabewert aber nicht mehr auswertbar, da auch die Debug-Ausgaben enthalten sind. Am besten lässt sich das Tool auf der Kommandozeile testen.

MfG Thorsten

Hallo
Mir war der Schluessel wichtig. Wollte das mal unter Windows8 testen , aber ohne Erfolg, oder
es ist einfach jetzt zu spaet :*)
Pfad ist

C:\Program Files (x86)\linguatec\VoiceReader\VRDirect.exe

INI-File


[Extras]
Debug=OFF
VRDFile=C:\\Program Files (x86)\\linguatec\\VoiceReader\\VRDirect.exe

Hi 1007,

uh, jetzt hast du entweder etwas durcheinander bekommen oder einen Kopierfehler eingebaut.

Der Schlüssel VDRFile ist richtig, aber der muss in am Abschnitt [Settings] stehen, nicht in Extras.

Für deinen Pfad müsste das INI-File so


[Settings]
VRDProcess=VRDirect.exe
VRDWindow=Voice Reader Direct
VRDFile=C:\\Program Files (x86)\\linguatec\\VoiceReader\\VRDirect.exe
BtnSpeakID=[CLASS:Button; INSTANCE:1]
BtnExportID=[CLASS:Button; INSTANCE:2]
BtnHideTextID=[CLASS:Button; INSTANCE:4]
BtnShowTextID=[CLASS:Button; INSTANCE:5]
ProgressBarID=[CLASS:msctls_progress32; INSTANCE:1]

aussehen.

Gruß Thorsten

PS: Der Abschnitt [Extra] sollte eigentlich gar nicht angelegt werden.

VRBox brachte in der Suchfunktion im Forum keinen Treffer ( ausser hier ).
Ein Aufruf von VRBox legt eine INI-Datei mit folgenden Inhalt an

[Extras]
Debug=OFF

Mehr Infos hatte ich nicht

Hallo Thorsten,

ich habe jetzt mal dein Tool VRBox getestet.

Leider habe ich hiermit genau das selbe Problem, wie mit dem Tool doVoice.

Wenn nur eine Meldung kommt, läuft das alles super.
Wenn aber mehrere Meldungen nacheinander „abgearbeitet“ werden, werden alle Sprachmeldungen die wärend einer aktiven Sprachausgabe an das Tool gesendet werden, ignoriert.

Bei doVoice wurde die aktuelle Meldung übrigens abgebrochen und durch die neue ersetzt.

Hatte mir ein Script geschrieben, welches den Process immer auf den Speicherverbrauch beobachtet hatte, um festzustellen, wann die Ansage zu Ende war. Das lief aber leider nicht immer so zuverlässig auf Grund des unterschiedlichen Speicherverbrauchs.

Wie hast du das umgangen, um alles nacheinander abzuarbeiten?

Danke u. viele Grüße,
Doc

Aloha!

Jaja, ich weiß - das Thema ist ganz schön alt und ich kritzel hier einfach so mit’m Wachsmalstift auf Euren Höhlenmalereien herum. Ich wollte nur mal kurz kundtun, dass der hier im Forum dokumentierte Stand mittlerweile einige Änderungen erfahren hat und einiges wohl auch nicht mehr funktionieren kann. Letzlich gibt es aber auch eine Lösung…

Ich hätte gedacht, dass doVoice.exe mit der aktuellen Linguatec Voice Reader Home (VRH) in Version 15 noch funktionieren würde und schön 50 EUR für die Soft ausgegeben. Wer sich die .exe einmal mit’m Olly anschaut, wird schnell feststellen, dass dort absolute Pfadangaben codiert sind. Selbst wenn man den VRH dort bereitstellt und die .exe (die mittlerweile standardmäßig im Pfad unter W:\Program Files (x86)\Linguatec\VoiceReaderHome15\VoiceReaderHome15Direct.exe zu finden ist) entspr. anpasst, wird keine Sprachausgabe möglich sein.

Der VRH hat mittlerweile einen erweiterten Funktionsumfang: Vorzulesende Texte müssen nicht mehr in die Zwischenablage und im VRH aktiv der Play-Button betätigt werden:

Es reicht also, bei entspr. gesetzter Option lediglich die Zwischenablage zu refreshen. :slight_smile: VRH erkennt dann selber eine Änderung der Zwischenablage und liest diese vor.

IPS oder mein Kopf haben es ums verrecken nicht gerallt, einen cmd a la
echo Super Test | clip
abzusetzen, damit VRH den Output vorliest. Das Problem mit der Zeitverzögerung bei aktueller Sprachausgabe würde ich persönlich einfach mit einem Array lösen, welches sich während der Wiedergabe füllt. Übergeben werden müssten einfach der zu sprechende Text + Wartezeit in s, bevor der nächste Eintrag aus dem Array genommen wird. Nach Ablauf der gesetzten Wartezeit ist die Wiedergabe beendet, dann die Zwischenablage erneut aus dem Puffer gespeist.

In VB.NET habe ich mir einen kleinen Konsolen-5-Zeiler gebastelt, welcher diese Aufgabe übernimmt, was auch sehr gut funktioniert. Da auf unserem Server mit i5-2405S div. VMs mit USB-Filtering und die CPU-Last teilw. zw. 60-80% läuft, kommt es aufgrund der Latenzzeiten manchmal zu einer leicht ruckelnden Wiedergabe. Mit dem Upgrade dürfte das aber ja hinfällig sein.

Wie habt Ihr das denn inzwischen gelöst?

Viele Grüße
Björn

vrh-auto.png