Ekkard Gerlach [mailto:suse-isdn@aiai.de]
habe die Prozedur gefunden. Verstehe aber tcl kaum. ... if [ catch { eval exec -- $say $flag -a -o - $string $args $append | \ $vbox_var_bindir/autovbox | cat > $file 2> /dev/null } that ] { raccess_log 1 "ERROR convert text2au2vbox > $file: $that" if { [ string compare $string error ] == 0 } { return "ERROR" } return [ handle_error "cannot convert text to soundfile: $that" ] }
Soweit ich das verstehe (habe auch nur geringste TCL-Kenntnisse!): Hier wird say ($say) mit den Parametern "$flag -a -o", dem zu sprechenden Text in $string und noch ein paar Parametern ($args $append) aufgerufen. Die Ausgabe (sicherlich im AU-Format) wird in $vbox_var_bindir/autovbox gepiped. Autovbox wandelt dann ins vbox-Format und legt den Spruch in der Datei $file ab. Geht dabei irgendetwas schief, kommt der Fehler "ERROR convert text2au2vbox...", den Du ja schon kennst. Beim debuggen ähnlicher Probleme bei meiner vbox-Installation hat mir geholfen, an den entsprechenden Stellen im TCL-Script ein 'raccess_log 1 "Variable: $variable"' einzufügen. Dann kann man in der raccess.log prima mitlesen, was sich gerade in der Variablen befindet. Prüfe damit mal, ob die genutzten Programme (say, autovbox) auch in den entsprechenden Pfaden liegen!
Da ist die Variable vbox_var_bindir ständig genannt und genutzt, in keinem Konfig-File ist sie allerdings erklärt, also ein Wert zugewiesen. Ist das bei tcl irgendwie versteckt ?
Die wird (glaube ich) durch vboxgetty gesetzt. Sieh' mal unter 'man vboxgetty' nach!
Ich habe mbrola installiert. Dort gibt es ein txt2pho, welches diese Umwandlung macht.
Hast Du die standard.tcl (bzw raccess4vbox.tcl) entsprechend angepaßt?
Ja, da war gleich eine angepasste dabei.
(ich habe raccess4vbox.tcl und raccess.conf eben nach /var/spool/vbox/gerlach kopiert )
Ich auch.
* Dann soll von standard.tcl ein Link auf raccess4vbox.tcl (als alles im gleichen Verzeichnis !?)
Ja.
Muß ich da noch vbox_var_bindir deklarieren? Was heißt tuning ?
tuning ist nur ein Konfigurationsabschnitt.
Habe in raccess.conf den debug-level eingeschaltet. In raccess.log erhalte ich aber auch keine genaueren Hinweise auf den Fehler:
Füge mal o.g. raccess_log Befehl ein, dann siehst Du mehr.
ERROR convert text2au2vbox > /tmp/vbox20-[pid].tmp: child process exited abnormally
Das ist der Fehler, den die Routine von oben erzeugt. Steht da wirklich "[pid]", oder steht eine Zahl zwischen den Klammern? Falls "pid", wäre das doch schon ein guter Ansatz zur Fehlersuche... -- Mit freundlichen Grüßen Thomas Voigt