pyht عبارة عن Python SDK لواجهة برمجة تطبيقات تحويل النص إلى كلام الخاصة بـ PlayHT. تقوم PlayHT ببناء نماذج الذكاء الاصطناعي الصوتية للمحادثة لحالات الاستخدام في الوقت الفعلي. باستخدام pyht ، يمكنك بسهولة تحويل النص إلى تدفقات صوتية عالية الجودة بأصوات تشبه أصوات البشر.
تدعم المكتبة حاليًا تدفق تحويل النص إلى كلام فقط. للحصول على المجموعة الكاملة من الوظائف التي توفرها PlayHT API مثل الاستنساخ الصوتي، راجع مستندات PlayHT
aiohttp
filelock
grpc
requests
websockets
يمكنك تثبيت pyht SDK باستخدام النقطة:
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 ))
يتوفر أيضًا إصدار غير متزامن للعميل:
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
: الخيارات المستخدمة لطلب تحويل النص إلى كلام.TTSOptions
(انظر أدناه).voice_engine
: المحرك الصوتي الذي سيتم استخدامه لطلب تحويل النص إلى كلام.Play3.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
: الصوت الذي سيتم استخدامه لطلب تحويل النص إلى كلام؛ سلسلة.format
: تنسيق الصوت المراد إرجاعه؛ قيمة تعداد Format
.FORMAT_MP3
(افتراضي)FORMAT_WAV
FORMAT_MULAW
FORMAT_FLAC
FORMAT_OGG
FORMAT_RAW
sample_rate
: معدل عينة الصوت الذي سيتم إرجاعه؛ عدد صحيح.quality
: مهملة (استخدم معدل العينة لضبط جودة الصوت)speed
: سرعة الصوت الذي سيتم إرجاعه، عائم (الافتراضي 1.0).seed
: بذرة عشوائية لاستخدامها في توليد الصوت، عدد صحيح (افتراضي لا شيء، سيتم إنشاؤه بشكل عشوائي).temperature
: درجة حرارة النموذج، تعويم.top_p
: الجزء العلوي من النموذج، عائم.text_guidance
: توجيه النص للنموذج، عائم.voice_guidance
التوجيه الصوتي للنموذج، تعويم.style_guidance
(Play3.0-mini-http وPlay3.0-mini-ws فقط): دليل_نمط النموذج، عائم.repetition_penalty
: عقوبة التكرار للنموذج، تعويم.disable_stabilization
(PlayHT2.0-turbo فقط): تعطيل عملية تثبيت الصوت، وهو أمر منطقي (خطأ افتراضي).language
(Play3.0-mini-http وPlay3.0-mini-ws فقط): لغة النص المراد نطقه، أو قيمة تعداد Language
أو لا شيء (الإنجليزية الافتراضية).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 مع العميل غير المتزامن:
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 السري ومعرف المستخدم. اتبع الخطوات التالية للحصول عليها:
الوصول إلى صفحة API : انتقل إلى صفحة الوصول إلى API.
قم بإنشاء مفتاح API السري الخاص بك :
تحديد موقع معرف المستخدم الخاص بك : ابحث عن معرف المستخدم الخاص بك وانسخه، والذي يمكن العثور عليه في نفس الصفحة ضمن قسم "معرف المستخدم".
حافظ على سرية مفتاح API السري الخاص بك . ومن الضروري عدم مشاركتها مع أي شخص أو تضمينها في مستودعات الأكواد البرمجية التي يمكن الوصول إليها بشكل عام.