このプロジェクトは、 edge-ttsを使用して、ローカルのOpenai互換のテキスト対スピーチ(TTS)APIを提供します。 OpenAI TTSエンドポイント( /v1/audio/speech )をエミュレートし、OpenAI APIのように、さまざまな音声オプションと再生速度でテキストからスピーチを生成できるようになります。
edge-tts Microsoft Edgeのオンラインテキストからスピーチサービスを使用するため、完全に無料です。
Docker Hubでこのプロジェクトをご覧ください
/v1/audio/speechが同様の要求構造と動作を備えています。edge-tts 。requirements.txtに依存関係をインストールします。git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts.envファイルを作成します。 API_KEY=your_api_key_here
PORT=5050
DEFAULT_VOICE=en-US-AndrewNeural
DEFAULT_RESPONSE_FORMAT=mp3
DEFAULT_SPEED=1.2
DEFAULT_LANGUAGE=en-US
REQUIRE_API_KEY=True
または、デフォルト.env.example次のものにコピーします。
cp .env.example .envdocker compose up --build(注:Docker-ComposeはDocker Composeと同じではありません)
-dで実行して、「デタッチモード」でDocker Composeを実行します。つまり、バックグラウンドで実行され、端末を解放します。
docker compose up -dまたは、 Dockerで直接実行します。
docker build -t openai-edge-tts .
docker run -p 5050:5050 --env-file .env openai-edge-ttsバックグラウンドでコンテナを実行するには、 docker runコマンドの後に-dを追加します。
docker run -d -p 5050:5050 --env-file .env openai-edge-ttshttp://localhost:5050でアクセスできます。 このプロジェクトをPythonで直接実行したい場合は、次の手順に従って仮想環境を設定し、依存関係をインストールし、サーバーを開始します。
git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts仮想環境を作成およびアクティブにして、依存関係を分離します。
# For macOS/Linux
python3 -m venv venv
source venv/bin/activate
# For Windows
python -m venv venv
venv S cripts a ctivatepipを使用して、 requirements.txtにリストされている必要なパッケージをインストールします。txt:
pip install -r requirements.txtルートディレクトリに.envファイルを作成し、次の変数を設定します。
API_KEY=your_api_key_here
PORT=5050
DEFAULT_VOICE=en-US-AndrewNeural
DEFAULT_RESPONSE_FORMAT=mp3
DEFAULT_SPEED=1.2
DEFAULT_LANGUAGE=en-US
REQUIRE_API_KEY=True
構成したら、以下でサーバーを起動します
python app/server.pyサーバーはhttp://localhost:5050で実行を開始します。
これで、 http://localhost:5050/v1/audio/speechおよびその他の使用可能なエンドポイントでAPIと対話できるようになりました。リクエストの例については、使用法のセクションを参照してください。
/v1/audio/speech入力テキストからオーディオを生成します。利用可能なパラメーター:
必須パラメーター:
オプションのパラメーター:
"tts-1" )。edge-tts Voice(デフォルト: "en-US-AndrewNeural" )。mp3 、 opus 、 aac 、 flac 、 wav 、 pcm (デフォルト: mp3 )。1.2です。 curlでリクエストを例とし、出力をMP3ファイルに保存します。
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"input": "Hello, I am your AI assistant! Just let me know how I can help bring your ideas to life.",
"voice": "echo",
"response_format": "mp3",
"speed": 1.2
} '
--output speech.mp3または、OpenAI APIエンドポイントパラメーターに沿っていること:
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"model": "tts-1",
"input": "Hello, I am your AI assistant! Just let me know how I can help bring your ideas to life.",
"voice": "alloy"
} '
--output speech.mp3英語以外の言語の例:
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"model": "tts-1",
"input": "じゃあ、行く。電車の時間、調べておくよ。",
"voice": "ja-JP-KeitaNeural"
} '
--output speech.mp3edge-tts Voicesをリストします。edge-ttsボイスをリストします。貢献は大歓迎です!リポジトリをフォークし、改善のためのプルリクエストを作成してください。
このプロジェクトは、GNU General Public License v3.0(GPL-3.0)の下でライセンスされており、許容可能なユースケースは個人的な使用を目的としています。 openai-edge-ttsの企業または非個人的な使用については、[email protected]までご連絡ください
ヒント
localhostローカルIP(例192.168.0.1 )に交換してください
別のサーバー /コンピューターでこのエンドポイントにアクセスする場合、または別のソース(Open WebUIなど)から呼び出しが行われたときに、 localhostからローカルIP( 192.168.0.1など)にURLを変更する必要がある場合があります。
管理パネルを開いて設定に移動します - >オーディオ
以下に、このプロジェクトを使用してOpenAIエンドポイントを代用するための正しい構成のスクリーンショットを見ることができます
注記
Openai EdgeTTSとのオープンWebUIの統合については、公式ドキュメントを見る
バージョン1.6.8では、「ジェネリックOpenai TTSプロバイダー」のサポートを追加しました。つまり、このプロジェクトをAnythllmのTTSプロバイダーとして使用できることを意味します。
設定を開いて、音声&スピーチに移動します(AIプロバイダーの下)
以下に、このプロジェクトを使用してOpenAIエンドポイントを代用するための正しい構成のスクリーンショットを見ることができます
your_api_key_here交換する必要はありません - 「リアル」APIキーは必要ありません。必要な文字列を使用してください。docker run -d -p 5050:5050 -e API_KEY=your_api_key_here -e PORT=5050 travisvn/openai-edge-tts:latest音声サンプルを再生して、利用可能なすべてのエッジTTSの声を見る