該項目使用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,這意味著它將在後台運行並釋放您的終端。
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 ctivate使用pip安裝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語音(默認: "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聲音。edge-tts聲音,並提供語言支持信息。歡迎捐款!請分配存儲庫,並為任何改進創建拉動請求。
該項目是根據GNU通用公共許可證v3.0(GPL-3.0)許可的,可接受的用例旨在個人用途。有關企業或非個人使用openai-edge-tts ,請通過[email protected]與我聯繫
提示
localhost您有192.168.0.1
在訪問其他服務器 /計算機上的端點或從另一個來源(例如Open WebUI)進行調用時,您需要將URL從localhost更改為本地IP(例如192.168.0.1或類似)時,可能是這種情況。
打開管理面板,轉到設置 - >音頻
下面,您可以看到正確配置的屏幕截圖,用於使用此項目代替OpenAI端點
筆記
查看官方文檔與Openai Edge TTS開放WebUI集成
在版本1.6.8中,任何內容都增加了對“通用OpenAI TTS提供商”的支持 - 這意味著我們可以將此項目用作nothinglylm中的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聲音