
JBark هي مكتبة Python قوية تعتمد على إمكانيات مشروع Bark Text-to-Spection الأصلي [https://github.com/suno-ai/bark] ، مع إضافة ميزات تحويل صوتي بسيطة. يوفر واجهة سلسة لتوليد خطاب عالي الجودة من النص ، واستخراج الخصائص الصوتية الأساسية ، وتطبيق هذه الخصائص على الصوت الذي تم إنشاؤه.
تتضمن الميزات الرئيسية لـ JBark:
سواء كنت تقوم بتطوير مساعد افتراضي ، أو إنشاء كتب صوتية ، أو العمل على أي مشروع يتطلب توليفة خطاب مرنة وعالية الجودة ، يوفر JBark الأدوات التي تحتاجها لإحياء أفكارك إلى الحياة.
لتثبيت Jbark ، اتبع هذه الخطوات:
تأكد من تثبيت Python 3.7 أو لاحقًا على نظامك.
تثبيت Jbark وتبعياتها:
pip install jbark numpy torch scipy librosa resampy
ملاحظة: يستخدم JBark وحدة المعالجة المركزية للحسابات افتراضيًا. إذا كنت ترغب في استخدام تسريع GPU ، فتأكد من تثبيت الإصدار المناسب من CUDA من Pytorch.
إليك مثال أساسي على كيفية استخدام JBark:
from jbark import JBark
# Initialize jBark
jbark = JBark ()
# Generate audio from text
text = "Hello, this is a test of jBark text-to-speech."
output_path = "output.wav"
audio_array = jbark . generate_audio ( text , output_path )
# Extract voice characteristics
sample_audio = "sample_voice.wav"
voice_chars = jbark . simple_voice_clone ( sample_audio )
# Generate audio with simple voice conversion
converted_text = "This is speech using simple voice conversion."
converted_output_path = "converted_output.wav"
converted_audio = jbark . generate_with_cloned_voice ( converted_text , voice_chars , converted_output_path )
# List supported languages
languages = jbark . list_supported_languages ()
print ( "Supported languages:" , languages )يوضح هذا المثال سير العمل الأساسي لتوليد الكلام ، واستخراج الخصائص الصوتية ، وتطبيق تحويل صوت بسيط على الصوت الذي تم إنشاؤه.
يوفر Jbark عدة خيارات للتخصيص:
قمع التحذير : افتراضيًا ، يمنع JBark تحذيرات مشتركة. يتم التعامل مع هذا السلوك داخليًا ولا يتطلب تكوين المستخدم.
الإعدادات المسبقة الصوتية : عند إنشاء الصوت ، يمكنك تحديد إعداد مسبق صوتي:
audio_array = jbark . generate_audio ( text , history_prompt = "v2/en_speaker_6" ) معلمات تحويل الصوت : يمكنك ضبط قوة تحول الملعب وتعديل الإيقاع عن طريق تعديل طريقة simple_voice_conversion في فئة JBark .
__init__(self)تهيئة مثيل JBARK ، ويعقد التحذيرات ، ونماذج التحميل المسبقة.
generate_audio(self, text_prompt: str, output_path: str = None, history_prompt: str = None) -> numpy.ndarrayيولد الصوت من موجه النص المحدد.
text_prompt : النص الذي يجب تحويله إلى خطاب.output_path : اختياري. مسار لحفظ الصوت الذي تم إنشاؤه.history_prompt : اختياري. مسبق الصوت للاستخدام.إرجاع: صفيف numpy يحتوي على بيانات الصوت.
simple_voice_clone(self, audio_path: str) -> dictيستخلص الخصائص الصوتية الأساسية من عينة صوتية.
audio_path : مسار إلى عينة الصوت لاستخراج مميزة الصوت.إرجاع: القاموس الذي يحتوي على خصائص الصوت الأساسية (الملعب والإيقاع).
generate_with_cloned_voice(self, text_prompt: str, voice_characteristics: dict, output_path: str) -> numpy.ndarrayيولد الصوت باستخدام تحويل صوت بسيط استنادًا إلى خصائص الصوت المستخرجة.
text_prompt : النص الذي يجب تحويله إلى خطاب.voice_characteristics : القاموس الذي يحتوي على خصائص الصوت (الملعب والإيقاع).output_path : مسار لحفظ الصوت الذي تم إنشاؤه.إرجاع: صفيف numpy يحتوي على بيانات الصوت.
simple_voice_conversion(self, audio: numpy.ndarray, voice_characteristics: dict) -> numpy.ndarrayيطبق التحويل الصوتي البسيط على صوت الإدخال بناءً على خصائص الصوت المحددة.
audio : إدخال صفيف الصوت.voice_characteristics : القاموس الذي يحتوي على خصائص الصوت (الملعب والإيقاع).إرجاع: صفيف الصوت المحول.
custom_time_stretch(self, audio: numpy.ndarray, rate: float) -> numpy.ndarrayوظيفة تمدد الوقت المخصص باستخدام إعادة أخذ عينات.
audio : إدخال صفيف الصوت.rate : معدل امتداد الوقت.عائدات: صفيف الصوت المقطّر بالوقت.
list_supported_languages(self) -> dictإرجاع قاموس اللغات المدعومة.
تم تصميم JBark مع وضع وحدات وامتداد في الاعتبار. المكونات الرئيسية هي:
تتبع المكتبة نمطًا للواجهة ، حيث توفر فئة JBARK واجهة مبسطة لأنظمة تحويل النص إلى الكلام والصوت الأساسي.
يأتي JBark مع جناحين اختبار:
مجموعة الاختبار الأساسية ( test_jbark.py ): لتشغيل مجموعة الاختبار الأساسية:
python test_jbark.py
سيؤدي ذلك إلى إطلاق قائمة تفاعلية تتيح لك اختبار ميزات مختلفة من مكتبة JBARK.
مجموعة الاختبار الموسعة ( test2.py ): لتشغيل مجموعة الاختبار الموسعة:
python test2.py
يوفر هذا الجناح اختبارًا أكثر شمولاً ، بما في ذلك الاختلافات في توليد الصوت ، واستنساخ الصوت ، وتحويل الصوت ، ودعم اللغة ، ومعالجة الأخطاء ، واختبار الأداء.
لتصحيح الأخطاء ، يمكنك استخدام وحدة pdb المدمجة في Python أو IDE مثل Pycharm أو VSCode.
س: لماذا بطيء توليد الصوت؟ ج: تعتمد سرعة توليد الصوت على أجهزتك. يستخدم JBark وحدة المعالجة المركزية للحسابات افتراضيًا. للمعالجة بشكل أسرع ، فكر في استخدام جهاز مع وحدة المعالجة المركزية الأكثر قوة أو تنفيذ دعم GPU.
س: ما مدى فعالية التحويل الصوتي البسيط؟ ج: توفر ميزة تحويل الصوت البسيطة في JBARK تعديلات الملعب والإيقاع الأساسي. على الرغم من أنه يمكن أن يغير بعض الخصائص الصوتية ، إلا أنه لا يوفر نفس المستوى من جودة الاستنساخ الصوتي كطرق أكثر تقدماً. قد تختلف النتائج اعتمادًا على نص الإدخال وخصائص الصوت المستهدفة.
س: كيف يمكنني تحسين جودة تحويل الصوت؟ ج: استخدم عينات صوتية عالية الجودة لاستخراج مميزة الصوت ، من الناحية المثالية مع خطاب واضح وأقل ضوضاء في الخلفية. يمكنك أيضًا تجربة ضبط معلمات تحويل الملعب ومعلمات ضبط الإيقاع في طريقة simple_voice_conversion للحصول على نتائج أفضل.
س: كيف يمكنني استخدام نماذج لغة مختلفة؟ ج: يدعم JBARK لغات متعددة. يمكنك تحديد اللغة المطلوبة عند إنشاء الصوت باستخدام رمز اللغة المناسب في موجه التاريخ. على سبيل المثال:
audio = jbark . generate_audio ( "Bonjour!" , history_prompt = "v2/fr_speaker_1" ) للحصول على قائمة باللغات المدعومة ورموزها ، استخدم طريقة list_supported_languages() .
لمزيد من الأسئلة والأجوبة ، تفضل بزيارة صفحة قضايا GitHub أو انضم إلى منتدى مجتمعنا.
