it-swarm.com.de

natürlich klingender Text in Sprache

Erstens weiß ich, dass diese Frage gestellt wurde: Natürlich klingender Text in Sprache?

Ich bin nach irgendeiner Art von Text zur Sprachsteuerung, aber um ein vollständiges eBook/Text zu konvertieren. Kurz gesagt, ich habe nicht mehr genug Zeit zum Sitzen und Lesen, sondern reise viel. Also viel Spaß beim Hören von Hörbüchern und habe alle aufgeführten Vorschläge ausprobiert ... aber ...

Ich mag den Vorschlag und das kleine Skript von user85321 sehr, es ist kompakt und auf den Punkt gebracht, aber aus irgendeinem Grund endet jeder Text, der größer als ein paar Absätze ist, mit einer Fehlermeldung über zu viele Argumente:

bash: ./speech.sh: Argument list too long

Kann ich das Skript auf irgendeine Weise ändern oder ergänzen, um dies zu verhindern?

Ich mag die pico2wav-Stimme, es gibt weniger Verzögerungen/Pausen als bei googleTTs, ja, es gibt das seltsame Rechtschreibproblem "THE" anstelle von "The", aber alles in allem scheint die Rede ein bisschen besser zu fließen und ich bevorzuge es gegenüber dem Festival/Embrola.

Ich habe sogar die Skripte mit GoogleTTs ausprobiert, wie sie im ursprünglichen Beitrag aufgeführt sind, einschließlich derjenigen, die pico2wav als Offline-Backup verwenden. Leider hören sie auch nach dem Zerlegen des Buches in Stücke durch Teilen in zufälligen Abständen auf, so dass der Versuch, zufällige Sprachstücke zusammenzusetzen, eine königliche PITA ist.

Meine letzte Anlaufstelle war das Lese-Text-Plugin für libreoffice (das pico2wav verwendet). Dies scheint dasselbe Problem mit args zu haben, da es nach einer Weile umkippt.

Nachdem ich in den letzten Monaten darüber nachgearbeitet habe, stehe ich jetzt vor einer Mauer, sodass ich für jede Hilfe oder Anregung dankbar bin.

Vielen Dank für das Lesen meiner Skizze.

3
Jan Matulewicz

Aus irgendeinem Grund akzeptiert pico2wave nur Eingaben als Argumente. Daher ist die Textlänge, die gleichzeitig verarbeitet werden kann, durch die maximale Argumentgröße begrenzt. Sie könnten vielleicht xargs verwenden, um den Text in Teile zu teilen, die diese Grenze nicht überschreiten. Führen Sie das Skript mit xargs folgendermaßen aus:

xargs -a input.txt ./speech.sh

Relevante xargs Option, die Sie nicht benötigen:

--max-chars=max-chars
-s max-chars
      Use at most max-chars characters per command line, including the
      command  and  initial-arguments and the terminating nulls at the
      ends of the argument strings.   The  largest  allowed  value  is
      system-dependent, and is calculated as the argument length limit
      for exec, less the size of your environment, less 2048 bytes  of
      headroom.   If this value is more than 128KiB, 128Kib is used as
      the default value; otherwise, the default value is the  maximum.
      1KiB is 1024 bytes.
1
muru

Ich hatte ein ähnliches Problem und bin auf folgendes Skript gestoßen, das für mich funktioniert hat: https://github.com/GwadaLUG/pico-read-speaker Dies ist ein python Skript, das teilt die Textdatei in Teile auf und übergibt sie an pico2wave. Anschließend werden alle WAV-Ausgabedateien zu einer riesigen WAV-Datei zusammengefasst.

0
Jeff