[[Vorlage(Getestet, focal]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] [:sudo: Root-Rechte] [:Rechte: Rechte für Dateien und Ordner ändern] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis()]] Um sich elektronische Dokumente "vorlesen" zu lassen, stehen momentan unter Ubuntu nur wenige Möglichkeiten zur Verfügung. Insbesondere lassen sich meist nur '''.txt'''-Dateien unmittelbar in "gesprochenen Sprache" umsetzen. Das hier vorgestellte '''abtool''' ist eine Weiterentwicklung von [:Skripte/Book-To-MP3:] und liefert ein umfangreiches Programm, das es ermöglicht, eine Vielzahl von Dokumenttypen einfach in '''.mp3'''- bzw '''.ogg'''-Dateien umzuwandeln. Momentan werden die Formate '''.pdf''', '''.doc''', '''.html''', .'''htm''', '''.rtf''', '''.txt''', '''.lit''', '''.jpg''', '''.djvu''', '''.png''', '''.tif''' und '''.epub''' unterstützt. Die Ausgabe erfolgt in Mono (kein Stereo). Standardmäßig wird die Aufnahme in überschaubare Stücke aufgeteilt. = Installation = == Skript == Das Skript wird von der [sourceforge:abtool:Projektseite] {dl} heruntergeladen, es liegt dort auch als '''.deb'''-Paket[2] vor, das für alle aktuellen Ubuntu-Versionen verwendbar ist. Um das Skript systemweit nutzen zu können, ohne jeweils den Pfad dazu einsetzen zu müssen, empfiehlt es sich, es mit Root-Rechten [3] nach '''/usr/local/bin/''' zu kopieren und die Rechte [4] zum Ausführen korrekt zu setzen. Die Endung '''.sh''' kann dabei auch entfernt werden. Das '''deb'''-Paket installiert das Skript entsprechend. [[Vorlage(Fremd, Software, "")]] == Voraussetzungen == Wenn abtool mit dem Parameter `-i` gestartet wird, werden benötigte Pakete automatisch installiert. {{{#!vorlage Befehl abtool -i }}} Damit, wie auch mir der Installation des '''.deb'''-Paketes wird auch [:eSpeak:] installiert; wer stattdessen [:eSpeak NG:] verwenden will, sollte stattdessen die Abhängigkeiten sowie das Paket '''espeak-ng-espeak''' händisch installieren, mit dem statt espeak die neuere Variante auch in älteren Programmen eingesetzt werden kann. Anderenfalls müssen zuerst folgende Pakete installiert [1] werden: {{{#!vorlage Paketinstallation espeak mbrola, multiverse poppler-utils, für PDF-Dokumente catdoc, universe, für '''.doc'''- und '''.rtf'''-Dokumente html2text, für '''.html'''-, '''.htm'''- und '''.lit'''-Dokumente convlit, universe, für '''.lit'''-Dokumente djvulibre-bin, für '''.djvu'''-Dokumente imagemagick, für Bildvorverarbeitung aspell aspell-de aspell-en tesseract-ocr, universe, für -Dokumente tesseract-ocr-deu, universe, Deutsche Sprachausgabe tesseract-ocr-eng, universe, Englische Sprachausgabe vorbis-tools, multiverse, '''.ogg'''-Ausgabe zenity }}} Empfohlen wird zusätzlich folgendes Paket, um auch '''mp3'''-Dateien erstellen zu können: {{{#!vorlage Paketinstallation lame, multiverse }}} Eine optionale Möglichkeit der Texterkennung bietet: {{{#!vorlage Paketinstallation cuneiform }}} == Stimmen == Die verwendeten Stimmen liegen in den Paketquellen vor: {{{#!vorlage Paketinstallation mbrola-de6, multiverse mbrola-en1, multiverse }}} [[Bild(reading.png, 240, align=right)]] [[Bild(console-version.png, 240, align=right)]] = Funktionsweise = Das Skript ermittelt zunächst den Dateityp und wandelt dann den Inhalt in reinen Text um. Zum Einsatz kommen je nach Dateityp `pdftotext`, `clit`, `djvulibre`, `tesseract`, `cuneiform`, `html2text` oder `catdoc`. Außerdem werden eventuell vorhandene Seitenzahlen sowie Formatierungen entfernt, um später den Textfluss nicht zu stören. Die Sprache (englisch oder deutsch) wird mittels [:GNU_Aspell:aspell] ermittelt, entweder einmal für das gesamte Dokument oder satzweise (erweiterte Sprachenerkennung). Danach wird der Text mit [:eSpeak:]/[:eSpeak_NG:] mit der jeweils passenden Stimme in Sprache umgesetzt, sodass z.B. englischsprachige Passagen in deutschen Texten richtig ausgegeben werden. Die Ausgabe wird mittels [:Audiodateien_umwandeln#lame:lame] in eine '''mp3'''-Datei bzw. mit [:Audiodateien_umwandeln#vorbis-tools:vorbis-tools] in eine '''ogg'''-Datei umgewandelt. Das Ergebnis wird im neu erstellten Unterordner '''DATEINAME''' abgelegt. Außer dem Umwandeln besteht auch die Möglichkeit, sich einen Text ("Buch") direkt vorlesen zu lassen, ohne eine Audio-Datei zu erstellen. Hierbei wird der aktuell als Sound ausgegebene Text nebenbei zum Mitlesen angezeigt (siehe Bilder für ein Beispiel der GUI- und Konsolenversion). Wird die Ausgabe unterbrochen, kann an die Wiedergabe später von der letzten Stelle weitergeführt werden. Es lassen sich gleich mehrere Texte zum Bearbeiten angeben; durchnummerierte Bilddateien werden in einem Text zusammengefasst. Außerdem können andere Sprachen über eigenen [#Andere_Sprachen_hinzuzufügen Sprachkonfigurationsdateien] verwendet werden. {{{#!vorlage Tabelle [[Bild(optionen.png,x150)]] <:>[[Bild(ausgabe.png, x150)]] +++ <:>Einstellungen <:>Ausgabe anpassen }}} = Konfiguration = In der GUI können unter dem Punkt ''"Einstellungen"'' grundlegende Standards gesetzt werden. Weiterhin kann die Audio/Text-Ausgabe unter ''"Ausgabe anpassen"'' eingestellt werden. Wenn die jeweilige Checkbox aktiviert ist, wird der Standard-Eintrag verwendet, wenn nicht die Alternative. Allerdings gibt es bei den Einstellungen [#Probleme Probleme], sodass dort die manuelle Bearbeitung der Konfiguration nötig ist. = Benutzung = Der Aufruf erfolgt im Terminal [5] über {{{#!vorlage Befehl abtool [DATEI.ENDUNG] }}} {{{#!vorlage Tabelle <-2 rowclass="titel"> Anwendungsbeispiele +++ Funktion Befehl +++ Anzeigen des Hauptmenü abtool +++ Umwandeln zweier Hörbücher abtool "/home/niemand/Homer - Odyssee.pdf" "/home/nichts/Die unendliche Geschichte.pdf" +++ Vorlesen (`-r`) eines Buches in der Kommandozeile (`-n`) abtool -nr "/home/niemand/Homer - Odyssee.pdf" +++ Weiterlesen (`-w`) an letzter Stelle (Zenity-Anzeige) abtool -w +++ Direktes Vorlesen (`-a`) des nach dem Parameter folgenden Textes abtool -a < mein.txt }}} [[Bild(menu.png, 220, align=left)]] {{{#!vorlage Tabelle <-2 tablestyle="width: 34%; float:right; clear:right" rowclass="titel">abtool GUI-Parameter +++ Option Funktion +++ `-h` Zeigt den Hilfetext an +++ `-r` Vorlesen eines eBooks +++ `-w` Weiterlesen eines eBooks +++ `-l` Zeigt eBooks mit "less" oder "zenity" an +++ `-a` Text vorlesen (z.B. `abtool -a "hello world"`) }}} Wird abtool ohne Parameter (Befehl `abtool`) gestartet, erscheint das Hauptmenü als Zenity-Fenster (siehe Bild links), in dem dann die weiteren Angaben gemacht werden können (Auswahl der gewünschten Dateien etc.) Ein Starten mit angegebenem Parameter, Befehl `abtool -` überspringt das Hauptmenü und beginnt sofort mit der jeweiligen Aufgabe (Tabelle rechts). Wird die Option `-a` ohne weiter Angaben verwendet, öffnet sich ein Fenster, in das ein Text eingegeben werden kann. Wird das Fenster geschlossen, erfolgt die Wiedergabe des eingestellten Textes. Ansonsten erfolgt die direkte Wiedergabe des Textes in den Anführungszeichen. Dateien lassen sich über ein `abtool -a < /PFAD/ZUR/DATEI` aufrufen; auch sie erscheinen zunächst in einem Textfenster, können dort ggf. noch bearbeitet werden, und werden dann mit dem Schließen des Fensters vorgelesen. Wenn ein "Buch" angezeigt wird, erscheint der Text ebenfalls in einem Fenster, nach Schließen wird ein Dateiname zum Speichern des Textes abgefragt. Die Speicherung erfolgt direkt im Homeverzeichnis des Benutzers, dem angegebenen Namen wird allerdings immer ein "abook" vorangestellt. In der Konsolenvariante (`-n`) stehen die folgenden Parameter zur Verfügung: {{{#!vorlage Tabelle <-4 rowclass="titel"> abtool-Optionen +++ Option (Standard) Funktion Option Funktion +++ `-t, -C` Verwenden von Tesseract (Standard), je nach Quelle etwas genauer bei reinem Text, langsamer `-c, -T` Verwenden von cuneiform, besser bei formatiertem Text, schneller +++ `-f` Filterung von Sonderzeichen (Standard) `-F` Keine Filterung von Sonderzeichen +++ `-s ` Splitten des Hörbuchs bei 50-600 Sätzen `-S` Splitten aus +++ `-d` zweisprachige eBooks verarbeiten (Standard) `-D` zweisprachige eBooks nur in Hauptsprache (schneller) +++ `-x` auch formatierte '''.txt'''-Dateien erzeugen (Standard) `-X` keine '''.txt'''-Dateien erzeugen +++ -`v, -M` ogg-Vorbis statt mp3 ausgeben/erzeugen (Standard) `-m, -V` mp3 statt ogg-Vorbis ausgeben/erzeugen +++ `-p` Abhängigkeiten prüfen (Standard) `-P` Abhängigkeiten nicht prüfen (wird ev. für händisch installierte mbrola-Sprachpakete benötigt) +++ `-I` Abhängigkeiten nicht installieren (Standard) `-i` Abhängigkeiten installieren +++ `-Z` Liste der lesbaren Buchstaben auf Standard setzen `-z ` füge Buchstaben zur Liste der lesbaren Buchstaben hinzu +++ `-o` Sprache ändern `-h` Hilfe, Auflistung aller Optionen }}} Die Konfigurationsdatei ('''~/.abtool/book2ab.conf''') kann auch manuell angepasst werden. Die Audio/Text-Ausgabe kann auch manuell in der Sprachkonfigurationsdateien '''~/.abtool/lang_XXX''' angepasst werden (`XXX` steht für die jeweilige Sprachkennung). == Andere Sprachen hinzuzufügen == Die Sprachkonfigurationsdateien besitzen folgenden Aufbau: {{{ TES_OCRLANG=xx CUN_OCRLANG=xx NAME=xx SIGWORDS= xx \| xx \| xx ASPELL_DICT=xx ASPELL_LANG=xx MBROLA_SPEED=150 MBROLA_PITCH=42 MBROLA_LANG=xx XCHAR=xx LANGPACK=xx ... Lokalisierungstexte ... }}} Um eine neue Sprache hinzuzufügen, kopiert man am besten eine vorhandene Sprachkonfigurationsdateien wie z.B. '''~/.abtool/lang_deu''' nach '''~/.abtool/lang_fra'''. Anschließend sind die obig durch `xx` angezeigten Werte anzupassen [6]. Die benötigten Sprachkürzel findet man in den Artikel zu [:tesseract-ocr:] bzw [:Cuneiform-Linux:], Aspell-Wörterbücher lassen sich mit `aspell dump dicts` auflisten. Unter `XCHAR` können alle benötigten, nicht im englischen Alphabet enthaltenen Sonderzeichen aufgeführt werden. {{{ TES_OCRLANG=fra CUN_OCRLANG=fra NAME=français SIGWORDS= le \| la ASPELL_DICT=fr ASPELL_LANG=fr MBROLA_SPEED=150 MBROLA_PITCH=42 MBROLA_LANG=mb-fr1 XCHAR=êâîûôòèàìùúíáéóç LANGPACK=mbrola-fr1 tesseract-ocr-fra aspell-fr ... Lokalisierungstexte ... }}} Nachdem die Datei erzeugt wurde steht die Sprache sofort zur Verfügung und wird automatisch verwendet. Lokalisierungstexte können nach Bedarf angepasst und verändern den von abtool angezeigten Text, sobald die Sprache als Standardsprache gewählt wird. = Probleme = Falls Probleme auftreten kann das Konfigurationsverzeichnis '''~/.abtool''' gelöscht werden, um alle Einstellungen auf den Standard zurückzusetzen. Alle Daten des letzten Buches gehen hierbei jedoch verloren. Bei der Bearbeitung über die Zenity-Oberfläche wird die Konfigurationsdatei nicht richtig abgespeichert; es fehlen etliche Einträge. Insbesondere muss die Angabe für `DEFAULT_LANG=` korrekt gesetzt werden, dort muss eine existierende '''lang_xxx'''-Datei mit Pfadangabe eingetragen sein (z.B.`/home/BENUTZER/.abtool/lang_deu`), ansonsten startet das Skript nicht. Bei der Wiedergabe von Dokumenten wird in der Zenity-Version die letzte Sektion (der internen Unterteilung des Textes) zwar vorgelesen, allerdings nicht in einem Fenster angezeigt. In der Kommandozeilenversion wird alles angezeigt. Die GUI-Variante beendet sich ggf nach Abschluss der Textwiedergabe nicht selber, sondern muss im Terminal abgebrochen werden ([[Vorlage(Tasten, strg+c)]]), die Kommandozeilen-Version kann das besser. Eine einmal gestartete Textwiedergabe lässt sich auch mit Abbruch des Skriptes nicht direkt beenden, die Ausgabe des gerade vorgelesenen Teils wird immer zu Ende geführt. = Alternativen = * [:Sprachausgabe:] {Übersicht} - Übersichtsseite * [:Gespeaker:] - die Stimmen sind einfacher zu konfigurieren, kann allerdings nur '''.txt''' in '''.wav''' umwandeln * [:Skripte/pdf2mp3:] - [:Python:]-Skript, das [:PDF:]- und ASCII-Vorlagen in '''.mp3'''- oder '''.wav'''-Dateien umwandelt. * [:Archiv/KMouth:] - KDE-Programm zur Stimmausgabe * [:PlayItSlowly:] kann zur Wiedergabe der '''mp3'''-Dateien verwendet werden, um dort auch während der Laufzeit Anpassungen an Tonhöhe und Geschwindigkeit vorzunehmen = Links = * [sourceforge:abtool:Projektseite] {en} #tag: Shell, Multimedia, Barrierefreiheit, Büro, Audiobooks, Sprachausgabe, TTS