Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hallo! Nachdem ich jetzt alles durchgeackert habe, was dafür ggf. nötig wäre (Texterkennung (OCR), Sprachausgabe, Scanner/Software) wäre es an der Zeit, das ganze mal als Paket zusammenzuschnüren. Das soll dann im Endeffekt so aussehen: Text auf den Scanner lesen, und dann zuhören, wie der Computer vorliest. Zum Einsatz kommen könnten scanimage, tesseract-ocr (Version 3.00 ist echt gut), eSpeak, oder noch lieber Festival mit Mbrola-Stimmen. Ggf. ließe sich auch mit dem xsane2tess:-Skript was anfangen, oder pct-scanner-script entsprechend aufbohren (djvu mit Texterkennung kann das ja schon). Das ganze sollte eine Art GUI bekommen, vielleicht mit Zenity, worüber die diversen Parameter fürs Scannen, Sprache für die Texterkennung, Stimme/Sprache für die Sprachausgabe, ggf. Aufnahme/mp3-Erstellung, einigermaßen komfortabel gesteuert werden könnten. Teile gibt es ja schon (Skripte/Book-To-MP3, Skripte/pdf2mp3, pct-scanner-script etc); ich kann aber leider höchstens ein bisschen bash-skripten für den Hausgebrauch...(a la Skripte/TV-Skript) Hat jemand Lust, mit mir an soetwas zu basteln? so long hank
|
Heinrich_Schwietering
Wikiteam
(Themenstarter)
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Der erste Schritt ist getan; er war relativ einfach: Das xsane2tess-Skript um eine Zeile mit eSpeak-Angaben erweitern, so wird die Temporärdatei vorm Löschen vorgelesen: # delete graphic file after use
rm "$TIF_FILE"
# speak the file
espeak -v mb-de6 -s 155 -g 2 -f "$TXT_FILE".txt
# delete tesseract output
rm "$TXT_FILE".txt Vorteile: Die Einstellungsmöglichkeiten in XSane lassen sich nutzen, so kann man den relevanten Teil (von Briefen, Zeitschriftenseiten etc.) als Ausschnitt wählen, und auch für schwierige, kontrastarme Vorlagen vernünftige Ergebnisse erzielen. Außerdem ist eSpeak extrem multilingual, und kann diverseste Sprachen, und eben auch mbrola-Stimmen (im Beispiel verwendet). Nachteile: Es muss jedesmal zunächst ein Bild im XSane-Betrachtermodus erstellt, und dann als "Textausgabe" gespeichert werden. Außerdem lassen sich so immer nur einzelne Scans vorlesen, nicht ein längerer zusammenhängender Text. Die Einstellungen für die Sprache könnte man ggf. auch als Optionen mit in die Konfigurationseinstellungen von XSane aufnehmen, vielleicht auch andere Synthesizer verwenden (Festival funktioniert bei mir so leider nicht, es werden kryptische Meldungen ausgegeben, zu denen ich noch mal Rat bei dem Entwicklern einholen müsste). Mit etwas Bastelei könnte man auch gleich die verwendete Tesseract-Sprache mit der zu verwendenden Vorlese-Stimme koppeln, sodass immer gleich ein passende verwendet wird. Tesseract 3.00 liefert mit einigermaßen ordentlichen Vorlagen so gut wie fehlerfreie Ausgaben. Vielleicht ließe sich eine Zenity-Abfrage ienbauen, ob noch weitere Scans in die bestehende Textdatei erfolgen sollen, um erst nach Abschluss vorzulesen; allerdings müsste dafüe erst herausfinden, wie ich den die tatsächlich gespeicherte Datei aufrufe, momentan wird die Temporärdatei genommen, an die nichts angehängt werden kann 😬... Soweit der erste Versuch; mal sehen, ob man mit Anlehnung an pct-scanner-script weiter kommt, aber auch da ist mir (noch 😉) nicht nicht klar, wie ich einbaue, dass erst bei "Abschluss" der Scans und Texterstellung vorgelesen wird. so long\
hank
|
Heinrich_Schwietering
Wikiteam
(Themenstarter)
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Bin doch erstmal beim xsane2tess geblieben, da hab' ich schon mehr Erfahrung drin 😉: hier also die erste Version von xsane2speech.sh: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140 | #!/bin/bash
# xsane2speech - speech directly from xsane
# Copyright (C) 2010 Heinrich Schwietering
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##
#
##############################################################################
#
# xsane2speech 0.1
#
# *** tesseract and text to speech made simple ***
#
#
##############################################################################
#
# xsane2speech is a TesseractOCR wrapper to be able to use tesseract
# with xsane, and utter the result via espeak or festival
#
#
#
TEMP_DIR=~/tmp/ # folder for temporary files (TIFF & tesseract data)
ERRORLOG="xsane2speech.log" # file where STDERR goes
ESPEAK=/usr/bin/espeak #path for eSpeak
FESTIVAL=/home/heinrich/festival/festival/bin/festival ' path for festival
if [[ -z "$1" ]]
then
echo "Usage: $0 [OPTIONS]
xsane2tess2speech converts files to TIF, scans them with TesseractOCR
and outputs the text in a file.
OPTIONS:
-i <file1> define input file (any image-format supported)
-o <file2> define output-file (*.txt)
-l <lang> define language-data tesseract should use
-y <synthesizer> define synthesizer
-x <settings> Synthesizer settings; festival only language possible
Progress- & error-messages will be stored in this logfile:
$TEMP_DIR$ERRORLOG
xsane2tess depends on
- ImageMagick http://www.imagemagick.org/
- TesseractOCR http://code.google.com/p/tesseract-ocr/
- eSpeak or
- festival
- recode
- zenity
Some coding was stolen from 'ocube'
http://www.geocities.com/thierryguy/ocube.html
"
exit
fi
# get options...
while getopts ":i:o:l:y:x:" OPTION
do
case $OPTION in
i ) # input filename (with path)
FILE_PATH="$OPTARG"
;;
o ) # output filename
FILE_OUT="$OPTARG"
;;
l ) # Language-selection
TES_LANG="$OPTARG"
;;
y ) # Synthesizer-selection (default is eSpeak)
SYNTH="$OPTARG"
;;
x ) # Synthesizer-settings
SYNSET="$OPTARG"
;;
esac
done
# redirect STDOUT to FILE_OUT
exec 1>>$FILE_OUT
#recode UTF-8 $FILE_OUT
# redirect STDERR to ERRORLOG
exec 2>>$TEMP_DIR$ERRORLOG
# strip path from FILE_PATH, use filename only
IN_FILE=${FILE_PATH##*/}
TIF_FILE="$TEMP_DIR""xsane2tessResult".tif
TXT_FILE="$TEMP_DIR""xsane2tessResult"
# converting image into TIFF (ImageMagick)
convert "$FILE_PATH" -compress none "$TIF_FILE" 1>&2
# start OCR (tesseract expands output with *.txt)
`tesseract "$TIF_FILE" "$TXT_FILE" -l "$TES_LANG"` 1>&2
#`echo "$TXT_FILE".txt` 1>&2
# ensure that UTF-8 is used for output
recode UTF-8 "$TXT_FILE".txt
# STDOUT scanned text => FILE_OUT
cat "$TXT_FILE".txt
# delete graphic file after use
rm "$TIF_FILE"
# Ask for further scans to be added
END=`zenity --entry --title="Weitere Scans" --entry-text="Ja" --text="Sollen weitere Passagen angehängt werden?"`
if [ "$END" != "Ja" ]; then
# check for requested synthesizer
if [[ "$SYNTH" == "Festival" ]] ; then
# if Festival is requested
"$FESTIVAL" --language "$SYNSET" --tts "$FILE_OUT" 1>&2
# eSpeak is the default
else
`"$ESPEAK" $SYNSET -f "$FILE_OUT"` 1>&2
fi
fi
# delete tesseract output
rm "$TXT_FILE".txt
echo "~~~+++~~~~+++~~~" 1>&2
|
Skript in einen Editor kopieren, sinnigerweise unter xsane2speech.sh abspeichern und ausführbar machen. Den Pfad zu Festival bzw. eSpeak muss man bei den entsprechenden Variablen am Anfang des Skriptes eintragen. Die Angaben werden wie bei xsane2djvu beschrieben gemacht, -y ist der Synthesizer, wenn nicht Festival angegeben wird, kommt eSpeak zum Einsatz, -x ist für Festival die Sprache, für eSpeak können eSpeak-Optionen angegeben werden, dabei alles in Anführungsstriche setzen, z.B. /Pfad/zu/xsane2speech.sh -l deu -y eSpeak -x "-vmb-de6 -s 165 -g 2" liest den Text als deutsche Text aus, eSpeak verwendet die mbrola-Stimme de6, Geschwindigkeit 165, Pausen zwischen den Wörtern Wert 2, da muss man ausprobieren, was einem gefällt, Tonhöhe (-p) geht natürlich auch. Testen kann man die Einstellungen ganz gut in Gespeaker, es laufen natürlich auch nur die von eSpeak/Gespeaker unterstützten mbrola-Stimmen (die "regulären" gehen natürlich auch, da hat man dann um die 60 Sprachen zur Auswahl). Für Festival lassen sich keine weitern Angaben als die Sprache machen (wenn nichts angegeben wird kommt Englisch zum Einsatz), die zu verwendende Stimme kann in .festivalrc eingestellt werden, siehe die noch-Baustelle zum Kompilieren. Wer deutsche Unterstützung haben möchte, ist auf etwas "Abenteuer" angewiesen (Baustelle/Festival/Kompilieren), da kommt es öfters noch zu Problemen, Abbrüchen, Abstürzen etc 😉. Das ganze reagiert extrem empfindlich auf zu viele oder zuwenige Leerstellen im XSane-Konfigurations-Fenster-Eintrag, also ganz genau aufpassen, dass es immer nur eine Leerstelle ist, und zu jeder angegebenen Option muss es auch einen Eintrag geben! Sonst rächt sich das mit ganz bösartig aussehenden Einträgen im xsane2speech.log (~/tmp muss dafür existent sein). Die Bedienung ist genauso wie für alle anderen xsane2irgendwas-Skripte: Text in XSane-Betrachter-Modus scannen (300pdi, schwarz-weiß, klappt meist ganz gut), dann im Betrachterfenster die OCR-Taste wählen. Zenity fragt ab, ob weitere Scans angehängt werden sollen, dafür muss natürlich der gleiche Dateiname als Ziel angegeben werden, das Skript hängt weitere Texte dann daran. Wenn man fertig ist, in Zenity entsprechend antworten, und der gesamte Text sollte vorgelesen werden: "Ubuntus Vorlesestunde wurde Ihnen Präsentiert von hank 😎 😀 " Die recode- Geschichte hab' ich für meine deutsche Festival-Installation drin, da gab es sonst Probleme mit Umlauten; ob das anderweitig notwendig ist, weiß ich nicht; ggf einfach auskommentieren. Geplant ist noch eine Aufnahme-Funktion a la Skripte/Book-To-MP3; eine "automatische" Koppelung der Tesseract-Sprache an die Ausgabesprache wäre zwar denkbar, aber das legt einen doch sehr auf jeweils eine bestimmte Stimme fest; ist also wohl zuviel Schnickschnack 😉 (oder möchte das jemand haben? Wer viele unterschiedliche Sprachen vorgelesen haben will, ist damit vielleicht ganz gut bedient?) One, two, testing, testing, bitte! so long hank
|
Heinrich_Schwietering
Wikiteam
(Themenstarter)
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Jetzt noch die Version, die auch Cuneiform kann; Bedienung dieser Optionen wie für xsane2cunei; die Otion -f kann vielleicht auch raus, da eh nutr text oder smarttext in Frage kommt, das könnte man auch im Skript selber einpassen. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160 | #!/bin/bash
# xsane2speech - speech directly from xsane
# Copyright (C) 2010 Heinrich Schwietering
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##
#
##############################################################################
#
# xsane2speech 0.2
#
# *** OCR and TTS made simple ***
#
#
##############################################################################
#
# xsane2speech is a OCR wrapper to be able to use tesseract or cuneiform
# with xsane, and utter the result via espeak or festival
#
#
#
TEMP_DIR=~/tmp/ # folder for temporary files (TIFF & tesseract data)
ERRORLOG="xsane2speech2.log" # file where STDERR goes
ESPEAK=/usr/bin/espeak
CUNEIFORM=/usr/local/bin/cuneiform
FESTIVAL=/home/heinrich/festival/festival/bin/festival
TESSERACT=/usr/local/bin/tesseract
if [[ -z "$1" ]]
then
echo "Usage: $0 [OPTIONS]
xsane2speech converts files to TIF, scans them with TesseractOCR
outputs the text in a file and converts it to speech
OPTIONS:
-i <file1> define input file (any image-format supported)
-o <file2> define output-file (*.txt)
-l <lang> define language-data OCR engine should use
-f <format> outputf ofrmat fpr Cuneiform
-e <option> extra option for Cuneiform
-z <ocr-engine> OCR engines cuneiform or tesseract (default)
-y <synthesizer> define synthesizer
-x <settings> synthesizer settings; for festival only language possible
Progress- & error-messages will be stored in this logfile:
$TEMP_DIR$ERRORLOG
xsane2tess depends on
- ImageMagick http://www.imagemagick.org/
- TesseractOCR http://code.google.com/p/tesseract-ocr/
- Cuneiform-Linux
- eSpeak or
- festival
- recode
- zenity
Some coding was stolen from 'ocube'
http://www.geocities.com/thierryguy/ocube.html
"
exit
fi
# get options...
while getopts ":i:o:l:f:e:z:y:x:" OPTION
do
case $OPTION in
i ) # input filename (with path)
FILE_PATH="$OPTARG"
;;
o ) # output filename
FILE_OUT="$OPTARG"
;;
l ) # Language-selection
LANGUAGE="$OPTARG"
;;
f ) # format selection for cuneiform
FORMAT="$OPTARG"
;;
e ) # extras selection for cuneiform
EXTRA="$OPTARG"
;;
z ) # Language-selection
OCRENG="$OPTARG"
;;
y ) # Synthesizer-selection (default is eSpeak)
SYNTH="$OPTARG"
;;
x ) # Synthesizer-settings
SYNSET="$OPTARG"
;;
esac
done
# redirect STDOUT to FILE_OUT
exec 1>>$FILE_OUT
# redirect STDERR to ERRORLOG
exec 2>>$TEMP_DIR$ERRORLOG
# strip path from FILE_PATH, use filename only
IN_FILE=${FILE_PATH##*/}
TXT_FILE="$TEMP_DIR""OCRResult"
TIF_FILE="$TEMP_DIR""OCRResult".tif
# converting image into TIFF (ImageMagick]
convert "$FILE_PATH" -compress none "$TIF_FILE" 1>&2
# check for requested ocr-engine
if [[ "$OCRENG" == "Cuneiform" ]] ; then
# start OCR
"$CUNEIFORM" -l "$LANGUAGE" -f "$FORMAT" -o "$TXT_FILE".txt "--$EXTRA" "$TIF_FILE" 1>&2
echo "cuneiform -l "$LANGUAGE" -f "$FORMAT" used" 1>&2
else
# tesseract is the default, start OCR (tesseract expands output with *.txt)
`"$TESSERACT" "$TIF_FILE" "$TXT_FILE" -l "$LANGUAGE"` 1>&2
echo "tesseract -l "$LANGUAGE" used" 1>&2
fi
# ensure that UTF-8 is used for output
recode UTF-8 "$TXT_FILE".txt
# STDOUT scanned text => FILE_OUT
cat "$TXT_FILE".txt
# delete graphic file after use
rm "$TIF_FILE"
# Ask for further scans to be added
END=`zenity --entry --title="Weitere Scans" --entry-text="Ja" --text="Sollen weitere Passagen angehängt werden?"`
if [ "$END" != "Ja" ]; then
# check for requested synthesizer
if [[ "$SYNTH" == "Festival" ]] ; then
# if Festival is requested
"$FESTIVAL" --language "$SYNSET" --tts "$FILE_OUT" 1>&2
echo "Festival --language $SYNSET used" 1>&2
# eSpeak is the default
else
`"$ESPEAK" $SYNSET -f "$FILE_OUT"` 1>&2
echo "eSpeak with options $SYNSET used" 1>&2
fi
fi
# delete ocr output
rm "$TXT_FILE".txt
echo "~~~+++~~~~+++~~~" 1>&2
|
/Pfad/zu/xsane2speech2.sh -z Cuneiform -l ger -f smarttext -y Festival -x german
verwendet Cuneiform und gibt über Festival aus (hier beides auf deutsch. Im Log sieht das dann so aus:
Cuneiform for Linux 1.0.0
cuneiform -l ger -f smarttext used
German Festival 1.2-os (1.4.1):release August 2000
Festival --language german used Damit wird's noch internationaler 😉 so long hank
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Heinrich Schwietering schrieb: One, two, testing, testing, bitte!
Dann will ich mal versuchen mich zu revanchieren ☺ Habe imagemagick, espeak und zenity schon installiert, was wohl bedeutet das ich tesseract-ocr und recode noch installieren müßte.Wie sieht das mit dem mbrola-Stimme aus, muß ich die noch installieren oder habe ich die schon per default? Gruß...busfahrer
|
Heinrich_Schwietering
Wikiteam
(Themenstarter)
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! In den Paketquellen sind nur mbrola-de6 und mbrola-de7; die anderen müsstest du über die Mbrola-Seite ⮷ holen; und dann alle de*-Dateien in /usr/share/mbola/voices/ packen. Aber zum Testen reichen auch die beiden aus den Quellen 😉. Die Pfade zu den Programmen musst du ggf. anpassen, die "Standard-Programme" liegen ggf. woanders; bin noch am Testen, wie ich z.B. verschiedenen Festival-Installation (oder Tesseract 2.04 für deutsch Frakturschrift neben tesseract 3.009 einbaue) nebeneinander zum laufen bekomme; die selbstkompilierte kann deutsch, die per Ubuntu-Quellen kann alles möglich andere, da muss ggf. noch mal ein Check sein, welche Sprache verwendet wird, um dementsprechend den passenden Pfad zum jeweiligen Programm zu wählen. Aba did kriejen wa späta 😉 MP3-Erstellung als Option sollte demnächst fertig sein, muss noch ein paar Test durchführen; das könnt man ggf. auch gleich beim Einscannen als Option mit aufnehmen, mal sehen.... so long hank
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Hallo Heinrich Schwietering ich denke ohne deine Hilfe komme ich hier nicht weiter. Ich habe imagemagick, espeak, zenity, tesseract-ocr, tesseract-ocr-deu, recode, mbrola-de6, mbrola-de7 installiert. Ich hab dein Skript xsane2speech.sh in /home/USER/bin liegen welcher sich in $PATH befindet. Nun komme ich nicht weiter, da ich nicht wirklich weiss was ich jetzt machen muß. Mir qualmen schon die Ohren 😳 Gruß...busfahrer
|
Heinrich_Schwietering
Wikiteam
(Themenstarter)
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Das Skript wird in XSane aufgerufen; XSane stellst du bei Einstellungen → Konfiguration → Texterkennung ->OCR-Befehl ein Zeile ein in der das Skript, sowie die gewünschten Optionen drin stehen, also z.B. /home/<benutzer>/bin/xsane2speech.sh -z tesseract -l deu -f -y eSpeak -x "-vmb-de6 -s150 -g2 -p60" Führt das Texterkennung mit Tesseract auf deutsch aus (Cuneiform ginge auch), verwendet eSpeak mit der mbrola-Stimme de6, um den Text dann vorzulesen, die Optionen kennst du ja... Achte auf die Leerzeichen! Bei den Variablen am Anfang kannst du die Pfade auch weglassen, wenn sich alles im PATH befindet, das ist nur bei mir nicht der Fall; aber für die "Allgemeinheit" kann man das auch noch mal "benutzerfreundlicher" gestalten, wenn man davon ausgeht, dass alles nach Standard installiert ist, braucht man vermutlich gar keine Variablen, sondern kann die Befehle direkt ins Skript schreiben 😉 Dann scannst du in XSane eine Textvorlage im Betrachtermodus ein, rufst im Betrachterfenster dann OCR auf, und legst einen Dateinamen fest. Wenn alles klappt, fragt dich ein Zenity-Fenster, ob du weitere Scans machen möchtest; wenn du Ja eingibst, geht das ganze von vorne los: Texte einscannen, im Betrachter auf OCR (sleben Dateinamen fürs speichern nicht vergessen,, Zenity-Fenster. Wenn du dort nein angibst (oder irgendwas außer "ja", oder es einfach wegklickst) solltest du eine Stimme hören, die dir den Text vorliest 😉 Wenn nicht, schaust du ins Log (~/tmp/xsane2speech ist Standard, entweder legst du das Verzeichnis an, oder du veränderst den Pfad in ein Verzeichnis, in das du schreiben darfst. Die Ausgabe kannst du dann ggf. hier posten, man sieht zwar nicht alles, aber einiges lässt sich daraus schon schließen. Ich mach demnächst einen Wiki-Artikel dazu, das Skript kann jetzt auch mp3 ausgeben, ggf. bau ich noch die "Reinigungsfunktion" für Sonderzeichen und Seitenzahlen aus Skripte/Book-To-MP3 dazu ein, das scheint mir recht sinnvoll (mal sehen, ob ich es hinkriege...). Das neue Skript stelle ich gleich noch hier rein, muss noch etwas "polieren"... so long hank
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Hallo der Wahnsinn hat ein bedingtes Ende ☺ Da ich vom Bash-Skripten kaum Ahnung habe hat es eine Weile gedauert bis ich herausgefunden habe das dein Skript einen kleinen, aber feinen Syntaxfehler in Zeile 37 hat FESTIVAL=/home/heinrich/festival/festival/bin/festival ' path for festival Da gehört ja eine Raute (#) hin, sonst kann es ja nicht funktionieren.Das Skript funktioniert bei mir aber nur mit der default espeak-Stimme, also in xsane mit der Zeile xsane2speech.sh -l deu -x "-vde -s 165 -g 2" Wenn ich es mit der Zeile xsane2speech.sh -l deu -x "-vmb-de6 -s 165 -g 2" versuche bekomme ich keine Sprachausgabe und im Logfile steht xsane2speech.sh: Zeile 134: _: Kommando nicht gefunden. Wenn ich im Skript in Zeile 134 die Variable $SYNSET in Anführungszeichen setze, dann steht dies im Log Failed to read voice 'mb-de6 -s 165 -g 2' Hoffe du kannst damit was anfangen und hast weitere Instruktionen 😉 Gruß....busfahrer
|
Heinrich_Schwietering
Wikiteam
(Themenstarter)
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Sorry, für das mit fehlenden der Raute 😳 xsane2speech.sh -l deu -x "-vde -s 165 -g 2"
geht 😲 ? Erstaunlich, aber ich habe das nie ohne die Parameter -y und -z gemacht... Vielleicht fehlt für "mb-de6" die Angabe für eSpeak, also -y eSpeak ; und das geht bei dir auch ohne Angabe des OCR-Engines? Den Unterstrich kenne ich nicht, muss ich doch glatt mal testen, was passiert, wenn ich das ohne die Parameter mache... Ein Test ergibt aber, dass ich da keine Problem mit der von dir monierten Einstellung habe (die default-Optinen scheinen also wirklich nicht nötig zu sein, man lernt doch noch was dazu 😉) Ich lade gleich mal das aktuelle Skript hoch, mit dem das bei mir geht; das spuckt dann bei Bedarf auch gleich mp3-Dateien aus... so long hank so long hank
|
Heinrich_Schwietering
Wikiteam
(Themenstarter)
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Wie versprochen: Das neue Skript im Anhang, dass auch MP3-Dateien ausgeben kann. (Du hattest noch das allerste Skript das auch noch keinCuneiform konnte, geht das jetzt damit besser?) so long hank
- xsane2speech.sh (5.8 KiB)
- Download xsane2speech.sh
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Hallo neues Skript getestet, selbes ergebnis.Mit xsane2speech.sh -l deu -x "-v de -s 165 -g 2" kein Problem.Die .mp3 wird erstellt, ist 1,4MB groß und wird abgespielt.Mit xsane2speech.sh -l deu -x "-vmb-de6 -s 165 -g 2" wird .mp3 erstellt, ist ein Paar kb groß und es kommt ein ganz kurzes Rauschen und das wars.Im log steht dann Tesseract Open Source OCR Engine
tesseract -l deu used
eSpeak with options -vmb-de6 -s 165 -g 2 used for mp3 Wenn ich es mir direkt vorlesen lassen will steht im Log Tesseract Open Source OCR Engine
tesseract -l deu used
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
/home/USER/bin/xsane2speech.sh: Zeile 174: _: Kommando nicht gefunden.
eSpeak with options -vmb-de6 -s 165 -g 2 used for utterance wobei die Zeilen mit bt_audio.... immer im Log stehen. egal welche Zeile ich nutze. Gruß...busfahrer
|
Heinrich_Schwietering
Wikiteam
(Themenstarter)
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Das ist aber nicht unter maverick, oder? Diese bt_audio_service_open: - Meldung kenne ich aus Lucid oder davor; allerdings wurde trotzdem richtig ausgegeben... Du hast aber mbrola selbst auch installiert? so long hank
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Heinrich Schwietering schrieb: Das ist aber nicht unter maverick, oder? Diese bt_audio_service_open: - Meldung kenne ich aus Lucid oder davor
Ich fahre hier Lucid Heinrich Schwietering schrieb: Du hast aber mbrola selbst auch installiert?
Na logisch ☺ dpkg -l | grep mbrola
ii mbrola 3.01h-4 Multilingual software speech synthesizer
ii mbrola-de6 0.0.20021125-1 German male voice for Mbrola
ii mbrola-de7 0.0.20030404-1 German female voice for Mbrola Gruß...busfahrer
|
Heinrich_Schwietering
Wikiteam
(Themenstarter)
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Werd' das auch nochmal unter Lucid in meiner VM testen - Kannst du denn die mbrola-Stimmen in Gespeaker einsetzen? Die bisherigen Erkenntnisse sind jetzt schon mal im Artikel Baustelle/xsane2speech eingeflossen, da kann ich das ja unter Problem noch mal mit aufnehmen... so long hank
|