web-dev-qa-db-ja.com

自然な音声テキスト読み上げ

まず、この質問が尋ねられたことを知っています、 自然な音声テキスト読み上げ?

私は何らかの種類のテキストを音声エンジンに変換しますが、完全な電子書籍/テキストを変換します。簡単に言えば、座って読むのに十分な時間が取れなくなったので、たくさん旅行するので、オーディオブックを聞いて楽しんで、リストされているすべての提案を試してみました...しかし...

私はuser85321の提案と小さなスクリプト、そのコンパクトで要点が本当に好きですが、何らかの理由で、いくつかの段落よりも大きなテキストは多くの引数に関するエラーメッセージで終わります:

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

これを防ぐためにスクリプトを変更したり、スクリプトに追加したりする方法はありますか?

私はpico2wavの音声が好きです。googleTTのようにラグ/ポーズが少ないです。はい、「The」の代わりに「THE」という奇妙なスペルの問題があります。塞栓症。

元の投稿にリストされているように、pico2wavをオフラインバックアップとして使用するフォールバックを含むスクリプトを含め、GoogleTTを使用してスクリプトを試しました。残念ながら、本を分割してチャンクに分割した後でも、ランダムな間隔で停止します。そのため、ランダムなスピーチの塊をつなぎ合わせようとすることは王室のPITAです。

私の最後の連絡先は、libreoffice(pico2wavを使用)のテキスト読み取りプラグインでした。これは、しばらくするとひねりを伴うargsと同じ問題があるようです。

過去数ヶ月にわたってこれを探し回った後、私はレンガの壁にいるので、助けや提案は大歓迎です。

私の落書きを読んでくれてありがとう。

3
Jan Matulewicz

何らかの理由で、pico2waveは引数として入力のみを受け入れます。したがって、一度に処理できるテキストの長さは、引数の最大サイズによって制限されます。おそらくxargsを使用して、テキストをこの制限を超えない部分に分割できます。この方法でxargsを使用してこのスクリプトを実行します。

xargs -a input.txt ./speech.sh

使用する必要のない関連xargsオプション:

--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

私は同様の問題があり、私のために働いた次のスクリプトに出くわしました: https://github.com/GwadaLUG/pico-read-speaker これはpythonスクリプトですテキストファイルを分割して、pico2waveに渡します。次に、すべての出力.wavファイルを1つの巨大な.wavに結合します。

0
Jeff