توليد دفق الكلام من النص عبر مكتبة Rhvoice دون إعادة تهيئة المحرك. هذا سريع للغاية وأكثر ملاءمة من استدعاء اختبار rhvoice.
تنسيقات الصوت المدعومة: wav ، mp3 ، opus ، flac و pcm (إخراج RHVoice الخام).
pip3 install rhvoice-wrapper
هذه الحزمة لا توفر rhvoice نفسها. يجب أن تكون بناء (أو تثبيت) rhvoice واللغات والأصوات يدويًا. في Windows ، يجب عليك تحديد مسارات العمل.
تحذير ! rhvoice-wrapper-bin لا يعمل في MacOS ، قم بتثبيت Rhvoice يدويًا.
بدلاً من Rhvoice ، يمكنك تثبيت Rhvoice-Wrapper-Bin. هذه أفضل طريقة لنظام التشغيل Windows. إذا تم تثبيت rhvoice-wrapper-bin ، فسيتم استخدام مكتباتها وبياناتها تلقائيًا.
pip3 install rhvoice-wrapper[rhvoice]
أولا قم بإنشاء كائن TTS:
from rhvoice_wrapper import TTS
tts = TTS ( threads = 1 ) يمكنك تعيين الخيارات عند إنشاء أو من خلال بيئات متغيرة (السجل العلوي). خيارات تجاوز البيئات المتغيرة. لتعيين القيمة الافتراضية استخدم None :
1 كائن مؤشر ترابط واحد ، إذا تم تشغيله بشكل أكبر في وضع المعالجة المتعددة وإنشاء الكثير من العمليات. الافتراضي 1 .True تعمل في وضع المعالجة المتعددة ، إذا كان False في وضع المواضيع. الافتراضي False إذا كانت مؤشرات الترابط == 1 ، True . وضع المواضيع والمواضيع> 1 يتسببlibRHVoice.so في Linux و libRHVoice.dylib في MacOS و RHVoice.dll في Windows./usr/local/share/RHVoice ./usr/local/etc/RHVoice .[] .lame ، اختياري. يجب أن تكون عرجاء حاضرة لدعم mp3 . الافتراضي lame .opusenc ، اختياري. يجب أن يكون الملف موجودًا لدعم opus . الافتراضي opusenc .flac ، اختياري. يجب أن يكون الملف موجودًا لدعم flac . الافتراضي flac .True فلا معلومات الإخراج. الافتراضي False .say أن يتم إنشاء جزء كبير ، تنسيقات أخرى غير wav و pcm أبطأ بكثير. الافتراضي True .ابدأ مولد التوليف واحصل على بيانات صوتية ، قطعة من القطع:
def generator_audio ( text , voice = 'anna' , format_ = 'wav' , buff = 4096 , sets = None ):
with tts . say ( text , voice , format_ , buff , sets ) as gen :
for chunk in gen :
yield chunkأو الحصول على جميع بيانات الصوت في قطعة واحدة كبيرة:
data = tts . get ( 'Hello world!' , format_ = 'wav' )
print ( 'data size: ' , len ( data ), ' bytes' )
subprocess . check_output ([ 'aplay' , '-q' ], input = data )أو مجرد حفظ للملف:
tts . to_file ( filename = 'esperanto.ogg' , text = 'Saluton mondo' , voice = 'spomenka' , format_ = 'opus' , sets = None ) format_ هو تنسيق الصوت الإخراج. يجب أن تكون موجودة في tts.formats .
voice هو صوت المتحدث. يجب أن تكون موجودة في tts.voice_profiles . voice='Voice', sets=None equal voice=None, sets={'voice_profile': 'Voice'} ، voice أكثر الأولوية.
قد يتم تعيين sets كمعلمات التوليف التي تحتوي على DICT كما في set_params. هذه المعلمات تعمل فقط للعبارة الحالية. الافتراضي None .
إذا كان buff يساوي None or 0 ، بالنسبة لقطاعات PCM و WAV تعود كما هي (ربما أسرع قليلاً). للآخرين يستخدمون حجم الجزء الافتراضي (4 KIB).
إذا كانت text عليها نصًا ، فسيتم معالجة جميع شظاياه على التوالي. هذه طريقة جيدة لمعالجة النصوص الكبيرة بشكل لا يصدق. تذكر أنه لا يمكن نقل المولد إلى عملية أخرى. مثال:
def _text ():
with open ( 'wery_large_book.txt' ) as fp :
text = fp . read ( 5000 )
while text :
yield text
text = fp . read ( 5000 )
def generator_audio ():
with tts . say ( _text ()) as gen :
for chunk in gen :
yield chunkيغير إعدادات المخلف الصوتي:
tts . set_params ( ** kwargs ) السماح: voice_profile ، absolute_rate ، absolute_pitch ، absolute_volume ، relative_rate ، relative_pitch ، relative_volume ، punctuation_mode ، punctuation_list ، capitals_mode ، flags . انظر وثائق rhvoice للحصول على التفاصيل.
العودة True إذا التغيير ، وإلا False .
احصل على إعدادات مزج الصوت:
tts . get_params ( param = None ) إذا كان البارم None إرجاع جميع الإعدادات في dict ، فإن قيمة المعلمة الأخرى حسب الاسم. إذا لم يتم العثور على المعلمة إرجاع None .
انضم إلى الموضوع أو العمليات. لا تستخدم كائن بعد الانضمام:
tts . join ()TTS.formats : قائمة التنسيقات المدعومة ، pcm و wav موجودة دائمًا.TTS.thread_count : عدد مؤشرات ترابط التوليف.TTS.process : إذا True ، فسيتم تشغيل TTS في وضع المعالجة المتعددة.TTS.voices : قائمة الأصوات المدعومة.TTS.voice_profiles : قائمة ملفات تعريف الصوت المدعومة.TTS.voices_info : قاموس الأصوات المدعومة مع معلومات الأصوات.TTS.api_version : نسخة مكتبة Rhvoice المدعومة.TTS.lib_version : نسخة مكتبة rhvoice. إن لم يكن في rhvoice_wrapper.rhvoice_proxy.SUPPORT ، قد يكون عمل غير صحيح.TTS.cmd : قاموس المكالمات الخارجية ، كما هو.