zephir
Anmeldungsdatum: 20. März 2006
Beiträge: 2760
|
Danke, den Tip werde ich mal mit dem skript abspeichern. Im Moment habe ich keine Verwendung dafür, war nur neugierig, aber kann ja noch kommen. Etwas sehr schnell gelesen war es wirklich. Bin jedenfalls beeindruckt was alles geht, beim lesen der Überschrift dachte ich erst es wäre ein scherz.
|
Chriz88
Anmeldungsdatum: 21. September 2007
Beiträge: 137
|
Super Projekt, vielen Dank!
|
froggydancer
Anmeldungsdatum: 6. Januar 2010
Beiträge: 156
|
😀 Das ist ja ein geiles Projekt, Daumen hoch 👍 rennau80 schrieb: Verbesserungsvorschläge sind willkommen!
Na wenn das so ist, will ich mich mal nicht zu sehr zurückhalten: Ich würde den Zwischenschritt mit der .wav-Datei überspringen, wenn eine mp3 das Ziel ist, und dafür von espeak direkt zu lame durchpipen. Damit könnte die Zeile dann z.B. so aussehen:
[...]
os.popen('cat ' + input_ascii_file +\
'|sed \'s/[^a-zA-Z .,!?]//g\'|espeak --stdout -v' + language + ' -w ' + output_wav_file[:-4] + '.wav' +\
'|lame -f - ' + input_wav_file[:-4] + '.mp3')
[...]
Dadurch geht das Umwandeln schneller und frisst weniger (temporären) Festplattenspeicher. Außerdem könnten ein paar Anführungszeichen in den Shell-Aufrufen nicht schaden, wegen Leerzeichen in Dateinamen etc. Weiter so,
Froggy
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Hallo finde das Projekt auch ganz nett 👍 und habe es mir nicht nehmen lassen mit meinen bescheidenen Python-kenntnissen am Skript herum zu doktorn.
Ich habe versucht die Aufrufe von "os.system" durch subprocess zu ersetzen bzw. durch andere interne Python-Module.Einzig in der "def join_wav_files(filename_out):" hab ich den Aufruf von "wavmerge" nicht mit "subprocess" hin bekommen.Wenn ich os.system('wavmerge -o merged.wav ' + join_wav) ersetze durch call(['wavmerge', '-o', 'merged.wav', join_wav]) bekomme ich diese Fehlermeldung Must pass filenames of wave files to merge.
Usage: wavmerge [-o outfile] mergefiles...
Traceback (most recent call last):
File "./pdf2mp3.py", line 179, in <module>
ret = main()
File "./pdf2mp3.py", line 120, in main
join_wav_files(filename_out)
File "./pdf2mp3.py", line 176, in join_wav_files
os.rename('merged.wav', filename_out[:-4] + '.wav')
OSError: [Errno 2] No such file or directory und es wird mir auch keine .mp3 Datei erstellt.Vielleicht hat da ja jemand der sich auskennt eine Idee zu.Ansonsten scheint das geänderte Skript fehlerfrei zu laufen. Habe den Code mal ausgelagert > pdf2mp3.py Gruß...busfahrer
|
murasame
Anmeldungsdatum: 4. Januar 2007
Beiträge: 78
Wohnort: Westerwald
|
Klasse Projekt. Da suche ich nach einem Programm um meine Studienordner vorlesen zu lassen und werde wie sooft bei ubuntu fündig. Allerdings hab ich hier ein Problem. Die pdf wird scheinbar gelesen und in eine wav geschrieben, diese schwankt in der Größe allerdings bei ca 200kB und wird nicht größer. Demnach kann da ja dann auch keine mp3 herauskommen, was es aber auch nicht tut. Hier der von mir eingegebene Befehl
pdf2mp3 -v de -f 03908.pdf -o Verwaltung.mp3 Hat wer eine Idee? Über espeak kann ich mir die pdf auch vorlesen lassen.
|
phunk
Anmeldungsdatum: 23. Oktober 2005
Beiträge: 105
Wohnort: Bonn-Friesdorf
|
danke für das script, das finde ich total klasse. Ich hätte noch einen Vorschlag: statt wavebreaker (wavmerge) ließe sich sox zum Verbinden der wavedateien verwenden? Bei der Verwendung von sox könnte man sogar auch auf lame verzichten, da sox auch audioencoding beherrscht. http://sox.sourceforge.net
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
murasame schrieb: Hat wer eine Idee? Über espeak kann ich mir die pdf auch vorlesen lassen.
Ich kann mich dunkel erinnern das ich ein ähnliches Problem hatte.Wenn die .pdf zu groß war, dann wurde mir nur ein kleines Stück konvertiert.Das lag anscheinend daran das schon in .mp3 konvertiert wurde, obwohl die .wav noch nicht komplett auf die Platte geschrieben war.Deshalb hatte ich im Skript in der def convert_to_wav in Zeile 147 ein time.sleep(3) eingebaut.Damit war das Problem bei mir erledigt.Du kannst ja mal in besagter Zeile das time.sleep höher setzen, z.B. auf time.sleep(10). Gruß...busfahrer
|
Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11314
Wohnort: Bremen
|
Hi! @ murasame Schau dir mal das Skript unter Baustelle/Book-To-MP3 an, die Version für Maverick läuft; muss noch ein wenig "debugged" werden, aber die Ergebnisse sind völlig in Ordnung. so long hank
|
Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11314
Wohnort: Bremen
|
Hi Hab mal eine Wiki-Artikel dazu aufgesetzt: Baustelle/pdf2mp3 so long hank
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Hallo hab das Skript noch mal überarbeitet.Es läuft bei mir fehlerfrei.Bevor man es aber im entsprechenden Wikiartikel verlinkt, sollte es noch mal von jemandem getestet werden. Gruß...busfahrer
- pdf2mp3.py (5.3 KiB)
- Download pdf2mp3.py
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Hallo hab noch mal ein wenig Finetuning betrieben und es wäre immer noch schön wenn jemand noch mal das Skript testet. Gruß...busfahrer
- pdf2mp3.py (5.5 KiB)
- Download pdf2mp3.py
|
Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11314
Wohnort: Bremen
|
Hi! Hab' gerade mal mit einer PDF getestet, funktioniert, aber die Qualität ist doch etwas arg "ruppig", da sollte man noch an den Pausen zwischen den Wörtern arbeiten - die eSpeak-g-Option sollte doch einbaubar sein , oder? so long hank
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Hallo erst mal Danke für die Rückmeldung.Habe jetzt die Optionen -s, --speed
Speed in words per minute, 80 to 390,
default is 170
und
-g, --gap
Word gap.Pause between words,units of 10mS at the
default speed eingebaut.Diese Optionen können jetzt verwendet werden, müssen aber nicht.Heißt das Prog läuft auch wenn man nur die Standardoptionen -v, -f, -o nutzt.Wäre schön wenn das noch mal getestet wird und man sich den ersten Teil des Hilfetextes mal anschaut ob man das so lassen kann. Gruß...busfahrer
- pdf2mp3.py (6.3 KiB)
- Download pdf2mp3.py
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Ich geb dann mal ein leises *push* von mir, in der Hoffnung noch einmal Feedback zu bekommen ☺ Gruß...busfahrer
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Vielleicht könnte Heinrich Schwietering noch mal kurz testen und wenn alles i.O. ist das Skript auch gleich verlinken 😉 Gruß...busfahrer
|