複数のTTSエンジンのテキストから音声測定API。
さまざまなTTSエンジンとサウンドエフェクトを使用して、オーディオに変換するテキストを送信できます。次に、ローカルオーディオデバイスでそれを聴くか、結果のオーディオファイルを受信します。
まず、サポートされているTTSエンジンをインストールする必要があります。
apt install python3 sox libsox-fmt-mp3
pip install google_speechapt install python3 sox libsox-fmt-mp3
pip install gTTSapt install festival festvox-ellpc11kapt install espeakまた、 nodejsとnpmをインストールする必要があります。その後、 npm installとnpm start単純に実行する必要があります。 APIはhttp://localhost:3000で実行されるようになりました。
または、PedroetB/TTS-API Dockerイメージを使用するだけで、すでにすべての依存関係が構成されています。
唯一の要件は、 Dockerをインストールすることです。その後、実行できます:
docker run --rm -d --name tts-api --device /dev/snd -p 3000:3000 pedroetb/tts-api APIは実行され、 http://localhost:3000でアクセスできます。
または、 docker compose (最新バージョンを使用している場合はDockerに既に含まれている)とdocker swarm (Swarm Clusterを最初に作成)を使用して、 Docker Swarmクラスターに展開できます。
cd deploy
# Deploy Caddy service
env $( grep -v ' ^[#| ] ' .env | xargs )
TRAEFIK_DOMAIN=change.me
docker stack deploy
-c compose.caddy.yaml
tts-api
# Run TTS-API container
docker compose
-f compose.tts-api.yaml
-p tts-api
up -dこのサービスは、 Traefikで逆プロキシになり、 tts.${TRAEFIK_DOMAIN}ドメインでアクセスできるように準備されています。 Traefikの実行方法はここでは説明されていません。公式サイトを確認してください。
Docker Swarmはデバイスの構成(サウンド機能を使用するために必要な)と互換性がなく、TraefikはDockerコンテナやDocker Swarm Servicesと一度に動作することができないため、プロキシはCaddyから少し助けが必要です。これにより、 TraefikとTTS tts-apiコンテナを使用してCaddyサービスのみが公開されます。Caddyが提供する逆プロキシを介してのみアクセスできます( TraefikがCaddyに逆プロキシングするのと同じです)。
Dockerコンテナとサービスの両方が、Dockerオーバーレイネットワークを介して通信できるため、さまざまなホストで実行できます。スピーカーを備えたホストでtts-api Dockerコンテナを実行するので、スピーチを聞くことができます。
展開する前に、 TRAEFIK_DOMAIN環境変数を編集することを忘れないでください。
実行中、APIはhttp://localhost:3000で投稿リクエストを受け取ります。お気に入りのRESTクライアントを使用してリクエストを送信したり、組み込みフォームを使用したりできます。
両方のモード(演奏またはオーディオのダウンロード)は、さまざまな音声コードを使用して使用でき、ニーズに応じて1つを選択します。
ブラウザでhttp://localhost:3000にアクセスし、フォームにデータを入力して送信します。ちょうどそれ。
このスキームに従って、 http://localhost:3000にpostリクエストを送信できます。
application/json{ "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" }たとえば、 curlの使用:
# Play audio
curl http://localhost:3000
-d ' { "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" } '
-H ' Content-Type: application/json '
# Download audio file
curl http://localhost:3000
-d ' { "voice": "gtts_file", "textToSpeech": "hello world", "language": "en", "speed": "1" } '
-H ' Content-Type: application/json '
-o ' output.mp3 ' Google Speechは、Google翻訳TTS(テキストからスピーチ)APIを使用してテキストを読むための単純なマルチプラットフォームコマンドラインツールです。
Googleサーバーと通信するには、オンラインである必要があります。
詳細については、https://github.com/desbma/googlespeechをご覧ください
Google Text-to-Speech(GTTS)は、Google TranslateのテキストからスピーチAPIとインターフェイスするためのPythonライブラリおよびCLIツールです。
Googleサーバーと通信するには、オンラインである必要があります。
詳細については、https://github.com/pndurette/gttsをご覧ください
フェスティバルは、スピーチにブラックボックステキストを提供する複数のプラットフォームで実行されるフリーソフトウェアのマルチリングスピーチ合成ワークベンチと、音声合成の研究のためのオープンアーキテクチャです。
オフラインで動作します。
詳細については、http://www.cstr.ed.ac.uk/projects/festival/およびhttp://festvox.org/festival/
ESPEAKは、LinuxとWindows用の英語やその他の言語向けのコンパクトなオープンソースソフトウェアスピーチシンセサイザーです。
オフラインで動作します。
詳細については、http://espeak.sourceforge.net/をご覧ください
このプロジェクトは、MITライセンスの下でリリースされます。