Text to Speech REST API สำหรับเครื่องยนต์ TTS หลายเครื่อง
คุณสามารถส่งข้อความที่จะแปลงเป็นเสียงโดยใช้เอ็นจิ้น 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 Swarm โดยใช้ docker compose (รวมอยู่ใน Docker แล้วถ้าใช้เวอร์ชันที่ทันสมัย) และ 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 ทั้งหมดได้ทั้งหมด ด้วยวิธีนี้มีเพียงบริการ แคดดี้ เท่านั้นที่ใช้โดยใช้คอนเทนเนอร์ Traefik และ tts-api สามารถเข้าถึงได้ผ่านการย้อนกลับที่ได้รับจาก แค ด ดี้
ทั้งคอนเทนเนอร์และบริการ Docker สามารถทำงานบนโฮสต์ที่แตกต่างกันได้เนื่องจากพวกเขาสามารถสื่อสารผ่านเครือข่ายซ้อนทับ Docker เรียกใช้คอนเทนเนอร์ tts-api Docker บนโฮสต์ที่มีลำโพงดังนั้นคุณสามารถฟังคำพูด
อย่าลืมแก้ไขตัวแปรสภาพแวดล้อม TRAEFIK_DOMAIN ก่อนที่จะปรับใช้
เมื่อทำงาน API จะได้รับคำขอโพสต์ที่ http://localhost:3000 คุณสามารถใช้ไคลเอนต์ REST ที่คุณชื่นชอบเพื่อส่งคำขอหรือใช้แบบฟอร์มในตัว
ทั้งสองโหมด (การเล่นหรือดาวน์โหลดเสียง) มีให้เลือกโดยใช้รหัสเสียงที่แตกต่างกันเลือกโหมดตามความต้องการของคุณ
ไปที่ http://localhost:3000 ด้วยเบราว์เซอร์ของคุณกรอกข้อมูลด้วยข้อมูลและส่ง แค่นั้น.
คุณสามารถส่งคำขอโพสต์ไปที่ http://localhost:3000 ตามโครงการนี้:
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 เป็นเครื่องมือบรรทัดคำสั่ง multiplatform อย่างง่ายเพื่ออ่านข้อความโดยใช้ Google แปล TTS (ข้อความเป็นคำพูด) API
คุณต้องออนไลน์เพื่อสื่อสารกับ Google เซิร์ฟเวอร์
เรียนรู้เพิ่มเติมได้ที่ https://github.com/desbma/googlepeech
Google Text-to-Speech (GTTS) เป็นไลบรารี Python และเครื่องมือ CLI เพื่อเชื่อมต่อกับ API Text-to-Speech ของ Google Trow
คุณต้องออนไลน์เพื่อสื่อสารกับ Google เซิร์ฟเวอร์
เรียนรู้เพิ่มเติมได้ที่ https://github.com/pndurette/gtts
Festival เป็นซอฟต์แวร์ฟรีการสังเคราะห์คำพูดหลายภาษาที่ใช้งานได้หลายแพลตฟอร์มที่เสนอข้อความกล่องดำเป็นคำพูดรวมถึงสถาปัตยกรรมแบบเปิดสำหรับการวิจัยในการสังเคราะห์คำพูด
มันทำงานออฟไลน์
เรียนรู้เพิ่มเติมได้ที่ http://www.cstr.ed.ac.uk/projects/festival/ และ http://festvox.org/festival/
Espeak เป็น synthesizer คำพูดซอฟต์แวร์โอเพนซอร์ซขนาดกะทัดรัดสำหรับภาษาอังกฤษและภาษาอื่น ๆ สำหรับ Linux และ Windows
มันทำงานออฟไลน์
เรียนรู้เพิ่มเติมได้ที่ http://espeak.sourceforge.net/
โครงการนี้เปิดตัวภายใต้ใบอนุญาต MIT