pyht เป็น Python SDK สำหรับ AI Text-to-Speech API ของ PlayHT PlayHT สร้างโมเดล AI เสียงสนทนาสำหรับกรณีการใช้งานแบบเรียลไทม์ ด้วย pyht คุณสามารถแปลงข้อความให้เป็นสตรีมเสียงคุณภาพสูงด้วยเสียงที่เหมือนมนุษย์ได้อย่างง่ายดาย
ปัจจุบันห้องสมุดรองรับเฉพาะการสตรีมข้อความเป็นคำพูดเท่านั้น สำหรับฟังก์ชันการทำงานทั้งหมดที่มีให้โดย PlayHT API เช่น Voice Cloning โปรดดูเอกสาร PlayHT
aiohttp
filelock
grpc
requests
websockets
คุณสามารถติดตั้ง pyht SDK ได้โดยใช้ pip:
pip install pyht
คุณสามารถใช้ pyht SDK ได้โดยการสร้าง Client
ซ์ไคลเอนต์และเรียกใช้เมธอด tts
นี่เป็นตัวอย่างง่ายๆ:
from pyht import Client
from dotenv import load_dotenv
from pyht . client import TTSOptions
import os
load_dotenv ()
client = Client (
user_id = os . getenv ( "PLAY_HT_USER_ID" ),
api_key = os . getenv ( "PLAY_HT_API_KEY" ),
)
options = TTSOptions ( voice = "s3://voice-cloning-zero-shot/775ae416-49bb-4fb6-bd45-740f205d20a1/jennifersaad/manifest.json" )
for chunk in client . tts ( "Hi, I'm Jennifer from Play. How can I help you today?" , options ):
# do something with the audio chunk
print ( type ( chunk ))
นอกจากนี้ยังสามารถสตรีมข้อความแทนการส่งเป็นสตริงพร้อมกันได้:
for chunk in client . stream_tts_input ( some_iterable_text_stream , options ):
# do something with the audio chunk
print ( type ( chunk ))
ไคลเอนต์เวอร์ชัน asyncio ก็พร้อมใช้งานเช่นกัน:
from pyht import AsyncClient
client = AsyncClient (
user_id = os . getenv ( "PLAY_HT_USER_ID" ),
api_key = os . getenv ( "PLAY_HT_API_KEY" ),
)
options = TTSOptions ( voice = "s3://voice-cloning-zero-shot/775ae416-49bb-4fb6-bd45-740f205d20a1/jennifersaad/manifest.json" )
async for chunk in client . tts ( "Hi, I'm Jennifer from Play. How can I help you today?" , options ):
# do something with the audio chunk
print ( type ( chunk ))
วิธีการ tts
รับข้อโต้แย้งต่อไปนี้:
text
: ข้อความที่จะแปลงเป็นคำพูดoptions
: ตัวเลือกที่จะใช้สำหรับคำขอ TTSTTSOptions
(ดูด้านล่าง)voice_engine
: เอ็นจิ้นเสียงที่ใช้สำหรับคำขอ TTSPlay3.0-mini-http
(ค่าเริ่มต้น): รุ่นหลายภาษาล่าสุดของเรา สตรีมเสียงผ่าน HTTP (โปรดทราบว่าเป็น Play
ไม่ใช่ PlayHT
เหมือนโปรแกรมเสียงก่อนหน้า)Play3.0-mini-ws
: รุ่นหลายภาษาล่าสุดของเรา สตรีมเสียงผ่าน WebSockets (โปรดทราบว่าเป็น Play
ไม่ใช่ PlayHT
เหมือนโปรแกรมเสียงก่อนหน้า)Play3.0-mini-grpc
: รุ่นหลายภาษาล่าสุดของเรา สตรีมเสียงผ่าน gRPC ใช้โปรแกรมเสียงนี้หากคุณใช้ Play On-Prem (โปรดทราบว่าเป็น Play
ไม่ใช่ PlayHT
เหมือนโปรแกรมเสียงก่อนหน้า)PlayHT2.0-turbo
: รุ่นดั้งเดิมที่มีเฉพาะภาษาอังกฤษเท่านั้น สตรีมเสียงผ่าน gRPC คลาส TTSOptions
ใช้เพื่อระบุตัวเลือกสำหรับคำขอ TTS มีสมาชิกดังต่อไปนี้ โดยมีค่าที่รองรับเหล่านี้:
voice
: เสียงที่จะใช้ในการร้องขอ TTS; สตริงformat
: รูปแบบของเสียงที่จะส่งคืน; a Format
ค่าแจงนับFORMAT_MP3
(ค่าเริ่มต้น)FORMAT_WAV
FORMAT_MULAW
FORMAT_FLAC
FORMAT_OGG
FORMAT_RAW
sample_rate
: อัตราตัวอย่างของเสียงที่จะส่งคืน จำนวนเต็มquality
: เลิกใช้แล้ว (ใช้อัตราตัวอย่างเพื่อปรับคุณภาพเสียง)speed
: ความเร็วของเสียงที่จะส่งคืน ลอย (ค่าเริ่มต้น 1.0)seed
: เมล็ดสุ่มที่จะใช้สำหรับการสร้างเสียง จำนวนเต็ม (ค่าเริ่มต้นไม่มี จะถูกสร้างขึ้นแบบสุ่ม)temperature
: อุณหภูมิของโมเดลแบบลอยตัวtop_p
: top_p ของโมเดล เป็นแบบทศนิยมtext_guidance
: text_guidance ของโมเดล ทศนิยมvoice_guidance
เสียงแนะนำของโมเดลแบบลอยตัวstyle_guidance
(Play3.0-mini-http และ Play3.0-mini-ws เท่านั้น): style_guidance ของโมเดล เป็นแบบลอยตัวrepetition_penalty
: repetition_penalty ของโมเดล แบบลอยตัวdisable_stabilization
(PlayHT2.0-turbo เท่านั้น): ปิดการใช้งานกระบวนการรักษาเสถียรภาพเสียง, บูลีน (ค่าเริ่มต้นเป็นเท็จ)language
(Play3.0-mini-http และ Play3.0-mini-ws เท่านั้น): ภาษาของข้อความที่จะพูด ค่า Language
enum หรือไม่มี (ภาษาอังกฤษเริ่มต้น)AFRIKAANS
ALBANIAN
AMHARIC
ARABIC
BENGALI
BULGARIAN
CATALAN
CROATIAN
CZECH
DANISH
DUTCH
ENGLISH
FRENCH
GALICIAN
GERMAN
GREEK
HEBREW
HINDI
HUNGARIAN
INDONESIAN
ITALIAN
JAPANESE
KOREAN
MALAY
MANDARIN
POLISH
PORTUGUESE
RUSSIAN
SERBIAN
SPANISH
SWEDISH
TAGALOG
THAI
TURKISH
UKRAINIAN
URDU
XHOSA
คุณสามารถเรียกใช้การสาธิตที่ให้มาได้จากบรรทัดคำสั่ง
หมายเหตุ: การสาธิตนี้ขึ้นอยู่กับแพ็คเกจต่อไปนี้:
pip install numpy soundfile
python demo/main.py --user $PLAY_HT_USER_ID --key $PLAY_HT_API_KEY --text " Hello from Play! "
หากต้องการรันด้วยไคลเอนต์ asyncio ให้ใช้แฟล็ก --async
:
python demo/main.py --user $PLAY_HT_USER_ID --key $PLAY_HT_API_KEY --text " Hello from Play! " --async
หากต้องการรันด้วย HTTP API ซึ่งใช้โมเดล Play3.0-mini ล่าสุดของเรา ให้ใช้แฟล็ก --http
:
python demo/main.py --user $PLAY_HT_USER_ID --key $PLAY_HT_API_KEY --text " Hello from Play! " --http
หากต้องการรันด้วย WebSockets API ซึ่งใช้โมเดล Play3.0-mini ล่าสุดของเราด้วย ให้ใช้แฟล็ก --ws
:
python demo/main.py --user $PLAY_HT_USER_ID --key $PLAY_HT_API_KEY --text " Hello from Play! " --ws
HTTP และ WebSockets API สามารถใช้กับไคลเอ็นต์ async ได้:
python demo/main.py --user $PLAY_HT_USER_ID --key $PLAY_HT_API_KEY --text " Hello from Play! " --http --async
python demo/main.py --user $PLAY_HT_USER_ID --key $PLAY_HT_API_KEY --text " Hello from Play! " --ws --async
หรือคุณสามารถเรียกใช้การสาธิตในโหมดโต้ตอบได้:
python demo/main.py --user $PLAY_HT_USER_ID --key $PLAY_HT_API_KEY --interactive
ในโหมดโต้ตอบ คุณสามารถป้อนบรรทัดข้อความเพื่อสร้างและเล่นเสียงได้ทันที บรรทัดว่างจะออกจากเซสชันแบบโต้ตอบ
ในการเริ่มต้นใช้งาน pyht SDK คุณจะต้องมีคีย์ลับ API และ ID ผู้ใช้ ทำตามขั้นตอนเหล่านี้เพื่อรับ:
เข้าถึงหน้า API : นำทางไปยังหน้าการเข้าถึง API
สร้างรหัสลับ API ของคุณ :
ค้นหา ID ผู้ใช้ของคุณ : ค้นหาและคัดลอก ID ผู้ใช้ของคุณ ซึ่งสามารถพบได้ในหน้าเดียวกันภายใต้ส่วน "รหัสผู้ใช้"
เก็บรหัสลับ API ของคุณไว้เป็นความลับ จำเป็นอย่างยิ่งที่จะไม่แชร์กับใครก็ตามหรือรวมไว้ในที่เก็บโค้ดที่เข้าถึงได้แบบสาธารณะ