โครงการนี้ให้ API ข้อความที่เข้ากันได้กับ OpenAI (TTS) API โดยใช้ edge-tts มันเลียนแบบจุดสิ้นสุดของ OpenAI TTS ( /v1/audio/speech ) ทำให้ผู้ใช้สามารถสร้างคำพูดจากข้อความด้วยตัวเลือกเสียงที่หลากหลายและความเร็วในการเล่นเช่นเดียวกับ OpenAI API
edge-tts ใช้บริการข้อความออนไลน์ของ Microsoft Edge ดังนั้นจึงฟรีอย่างสมบูรณ์
ดูโครงการนี้บน Docker Hub
/v1/audio/speech ที่มีโครงสร้างและพฤติกรรมการร้องขอที่คล้ายกันedge-tts เทียบเท่าrequirements.txt . txtgit 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 up -dอีกทางเลือกหนึ่ง ทำงานโดยตรงกับ Docker :
docker build -t openai-edge-tts .
docker run -p 5050:5050 --env-file .env openai-edge-tts ในการเรียกใช้คอนเทนเนอร์ในพื้นหลังให้เพิ่ม -d หลังจากคำสั่ง docker run :
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 :
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
ตอนนี้คุณสามารถโต้ตอบกับ API ได้ที่ http://localhost:5050/v1/audio/speech และจุดสิ้นสุดอื่น ๆ ที่มีอยู่ ดูส่วนการใช้งานสำหรับตัวอย่างคำขอ
/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 เป็น IP ในพื้นที่ของคุณ (เช่น 192.168.0.1 ) หากคุณมีปัญหา
อาจเป็นกรณีที่เมื่อเข้าถึงจุดสิ้นสุดนี้บนเซิร์ฟเวอร์ / คอมพิวเตอร์อื่นหรือเมื่อการโทรทำจากแหล่งอื่น (เช่น Open WebUI) คุณต้องเปลี่ยน URL จาก localhost เป็น IP ในพื้นที่ของคุณ (บางอย่างเช่น 192.168.0.1 หรือคล้ายกัน)
เปิดแผงผู้ดูแลระบบและไปที่การตั้งค่า -> เสียง
ด้านล่างนี้คุณสามารถดูภาพหน้าจอของการกำหนดค่าที่ถูกต้องสำหรับการใช้โครงการนี้เพื่อแทนที่ปลายทาง OpenAI
บันทึก
ดูเอกสารอย่างเป็นทางการสำหรับการรวม WebUI แบบเปิดกับ Openai Edge TTS
ในเวอร์ชัน 1.6.8 สิ่งที่เพิ่มการสนับสนุนสำหรับ "ผู้ให้บริการทั่วไป OpenAI TTS" - หมายความว่าเราสามารถใช้โครงการนี้เป็นผู้ให้บริการ TTS ใน OneLllm
เปิดการตั้งค่าและไปที่ Voice & Speech (ภายใต้ผู้ให้บริการ 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 ที่มีอยู่ทั้งหมด