ubuntuusers.de

pdf2mp3

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Wiki/Icons/terminal.png Dieses von rennau80 entwickelte Python-Skript verbindet mehrere Programme (wie pdftotext, lame, espeak, wavbreaker), um aus einer ASCII- ( .txt, .dat) oder .pdf-Datei eine Audio-Datei (.wav oder .mp3) zu erstellen. Da eSpeak verwendet wird, sind sehr viele Sprachen verfügbar. Unter diesem Foreneintrag sind zwei Code-Versionen zu finden: eine, die mit text2wave arbeitet (nur englische Sprache) sowie die hier beschriebene Version, die etliche Sprachen bei der Konvertierung zu einer Audio-Datei beherrscht. Das Skript ist für das in Ubuntu standardmäßig verwendete Python-2.x ausgelegt.

Installation

Benötigt werden folgende Pakete [1]:

  • python

  • poppler-utils

  • festival

  • festvox-rablpc16k

  • lame

  • espeak

Paketliste zum Kopieren:

sudo apt-get install python poppler-utils festival festvox-rablpc16k lame espeak 

Oder mit apturl die Pakete installieren. Link: apt://python,poppler-utils,festival,festvox-rablpc16k,lame,espeak

Dann das Skript pdf2mp3.py ⮷ herunterladen und ausführbar machen [5]. Um das Skript systemweit nutzen zu können, ohne jeweils den Pfad kennen zu müssen, empfiehlt es sich, es mit Root-Rechten [4] nach /usr/local/bin/ zu kopieren und die Rechte zum Ausführen korrekt zu setzen.

Bedienung

In einem Terminal [2] lässt sich das Skript dann z.B. mit

pdf2mp3.py -h 

aufrufen. Damit bekommt man die Hilfe zum Skript angezeigt. Mit z.B.

pdf2mp3.py -v de -f input.pdf -o output.mp3 

ruft man das Skript auf, um input.pdf in eine deutschsprachige (-v de) output.mp3 umzuwandeln. Dabei muss für die Eingabedatei eine Endung angegeben werden, auch die Ausgabedatei wird nach der Endung erstellt. Der Befehl:

espeak --voices 

listet alle verfügbaren Sprachen auf. Es können auch MBROLA-Stimmen 🇬🇧 eingesetzt sein (z.B -vmb-de6). Als Ausgabe sind .wav oder .mp3 möglich, letztere wird standardmäßig in -f (fast mode)-Qualität gespeichert.

Das Skript entfernt automatische alle Sonderzeichen, Grafiken etc. aus den Dateien, sodass nur der eigentliche Text verwendet wird. Allerdings gehen dabei auch die Umlaute ä,ö und ü verloren!

Anpassung der Sprachausgabe

Um weitere eSpeak-Optionen nutzen zu können, kann man mit einem Editor [3] einfach in Zeile 129 espeak durch z.B. espeak -s 140 ersetzen. Natürlich sind auch weitere Anpassungen möglich.

Probleme

Manchmal lassen sich große PDF-Dateien nicht ordnungsgemäß umwandeln (siehe Forenbeitrag). Als Lösung kann eventuell in der def convert_to_wav in Zeile 125 ein time.sleep(3) eingefügt werden, wenn nötig auch mit höherem Wert.

Alternativen

Diese Revision wurde am 29. November 2018 21:32 von Beforge erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Sprachausgabe, TTS, Audiobooks, Büro, Barrierefreiheit, Kommunikation, Multimedia