Skript für Ansagen in mp3-Dateien

@Til Danke für die Erklärung!

Dann habe ich das mit --file-regex falsch verstanden.

Bei mir funzt das Script leider net (Windows 10). Ich habe Die Google API aktiviert " Cloud Text-to-Speech API". python-3.9.0-amd64.exe und ffmpeg sind installiert (und in der PATH Variable eingetragen). die mp3 test.mp3 liegt im gleichen Ordner wie das Script.

python add_lead_in_messages.py -i test -o blub --google-key=12345

  File "C:\Users\ottel\Desktop\Liste\tools\add_lead_in_messages.py", line 106
    except Exception, e:
                    ^
SyntaxError: invalid syntax

EDIT:
Hab’s rausgefunden. Hatte das Script aus dem Github repo „https://github.com/xfjx/TonUINO“ geladen. Dachte da liegt das aktuellste. Nun habe ich es aus „https://github.com/seisfeld/TonUINO/tree/master/tools“ und damit klappt es.

Hast du als input wirklich test geschieben und als output blub? Du musst da ja den Dateipfad angeben
In der Anleitung ist unten ein Beispiel

Ja ich hatte .mp3 noch vergessen. Und das Argument für Google Api war wohl noch falsch/alt. Richtig ist nun:

python add_lead_in_messages.py -i test -o blub.mp3 --use-google-key 12345

So wird „test“ vor die mp3 gehängt.

Hallo,
ich wollte auch das Skript verwenden,
scheitere allerdings beim exe erzeugen.

Powershell öffnen
`cd c:\python`  eingeben und enter drücken
`pip install py2exe`  einfügen und enter drücken
`python setup.py install`  einfügen und enter drücken

es erscheint folgendes:

PS C:\python> python setup.py install
running install
running build
running install_egg_info
Removing C:\Python\Lib\site-packages\UNKNOWN-0.0.0-py3.9.egg-info
Writing C:\Python\Lib\site-packages\UNKNOWN-0.0.0-py3.9.egg-info

Jetzt sollte unter c:\python\dist eine add_lead_in_messages.exe sein.

Ich finde keine add_lead_in_messages.exe und den Ordner dist gibt es auch nicht.

Vielen Dank

Die exe brauchst du nicht.
Du kannst nach cd c:\python und dem Enter drücken direkt das Skript aufrufen

.\python add_lead_in_messages.py -i C:\"Quellordner" -o C:\"Zielordner" --lang de --use-google-key 123456

Ich bekomme es nicht hin, bin fast am Tastatur zerschlagen…
In der Powershell kann ich ad_lead_in_massages.py auch nicht ausführen.
Das Skipt befindet sich definitiv unter c:\python

PS C:\python> python add_lead_in_messages.py
File „C:\python\add_lead_in_messages.py“, line 7

^
SyntaxError: invalid syntax
PS C:\python>

Ich versuchs später an einem andren PC

Wo hast du das Skript heruntergeladen? Probiere mal das aktualisierte von @stephan
TonUINO/tools at master · seisfeld/TonUINO (github.com)

Hast du mal geschaut, ob Python richtig läuft?

Python --help

Was hast du genau eingegeben?

In der Eingabeaufforderung musst du in den Ordner wechseln, wo das Skript liegt.
Eingabe:

python add_lead_in_message.py -i "Pfad inkl Name der Ursprungs-MP3" -o "Neuer Ort und Name" --use-google-key=DeinKey

Python läut, wenn ich in der Powershell python --help eingebe, kommen eine Menge Infos.

Meine Vorgehensweise:
Im Ordner C:\mp3 befindet sich ein Hörspiel
Aktuelles Phyton 3.9 64 bit installiert PATH wurde angewält
ffmpeg ist eingerichtet
nochmals add_lead… über den Link von Gute_Laune in den Ordner C:\Python kopiert
Powershell als Admin geöffnet
gewechselt ins Verzeichnis C:\Python
und dann den Befehl eingegeben:
python add_lead_in_messages.py -i C:\mp3 -o C:\mp3 --lang de --google-key ***

PS C:\python> python add_lead_in_messages.py -i C:\mp3 -o C:\mp3 --lang de --google-key *****
  File "C:\python\add_lead_in_messages.py", line 7
    <!DOCTYPE html>
    ^
SyntaxError: invalid syntax
PS C:\python>

:unamused:

Du hast alle drei Skripte?

Das gehört da nicht hin. Den Parameter gibt es in diesem Skript nicht.

Also mit den Scripten aus meinem Repo (wie von @Gute_Laune schon verlinkt) klappt das unter macOS einwandfrei. Zu Windows kann ich leider nix sagen sorry.

add_lead_in_messages.py -i /Users/stephan/Downloads/input -o /Users/stephan/Downloads/output --lang de --use-google-key <key>

Es werden natürlich alle Skripte aus dem Verzeichnis benötigt…

Achja und ffmpeg… halt alles was in meiner Doku steht…

Doch, das klappt wunderbar unter Windows. Nutze es über mein Exceltool. Da habe ich keine Probleme.

Natürlich gibt es das.

Hab ich in dem Skript aber nicht gefunden…

argparser.add_argument('-i', '--input', type=str, required=True, help='The input directory or mp3 file to process (input won\'t be changed)')
argparser.add_argument('-o', '--output', type=str, required=True, help='The output directory where to write the mp3 files (will be created if not existing)')
text_to_speech.addArgumentsToArgparser(argparser)
argparser.add_argument('--file-regex', type=str, default=None, help="The regular expression to use for parsing the mp3 file name. If missing the whole file name except a leading number will be used as track title.")
argparser.add_argument('--title-pattern', type=str, default=None, help="The pattern to use as track title. May contain groups of `--file-regex`, e.g. '\\1'")
argparser.add_argument('--add-numbering', action='store_true', help='Whether to add a three-digit number to the mp3 files (suitable for DFPlayer Mini)')
argparser.add_argument('--dry-run', action='store_true', help='Dry run: Only prints what the script would do, without actually creating files')

:man_shrugging:

Ja, alle drei Skripte sind vorhanden.

Es bleibt bei der Fehlermeldung:

File "C:\python\add_lead_in_messages.py", line 7
    <!DOCTYPE html>
    ^
SyntaxError: invalid syntax

Keine Anhnung was ich falsch mache.
Ich versuche es jetzt auf einem anderen PC

Hast du das überprüft?
Wenn ich die Version von Thorsten nehmen bekomme ich nämlich genau die selbe Fehlermeldung.

PS C:\python> python add_lead_in_messages.py
File „C:\python\add_lead_in_messages.py“, line 7

^
SyntaxError: invalid syntax
PS C:\python>

Oben in der Anleitung ist noch das von Thorsten verlinkt.

Ich vermute mal du hast die Dateien nicht richtig runtergeladen (oder das repo richtig gecloned) sondern copy/paste von GitHub gemacht. Daher hast du jetzt HTML mit in dem Script. Öffne die Datei mal. Sieht die aus wie ein Python script? Ich wette nicht. Deswegen kommt da auch das <!DOCTYPE html>, das hat in der Datei nichts verloren.

Klicke hier. Dann auf den grünen Button „Code“. Dann „Download ZIP“. Das entpackst du, dann hast du die richtigen Dateien. Das Script sollte dann laufen. Aber wie gesagt, da das zwei mp3s mergen muss brauchst du auch noch ffmpeg. Siehe meine o.g. Anleitung.

Das gilt für andere Parameter auch. Und auch für create_audio_messages.py. Das liegt daran, daß die beide text_to_speech.py benutzen und die Parameter von dem script sind.

Wenn du das script (also create_audio_messages.py oder add_lead_in_messages.py) ohne alles aufrufst siehst du ja was es alles für Optionen gibt.

1 „Gefällt mir“

Ja, ich habs falsch runtergeladen. Danke für den Tip.
Es scheint zum funktionieren, nur stimmt was mit dem Google Key nicht.

error: unrecognized arguments: --google-key AIz******