اللحاء ويب واجهة المستخدم
هذا التطبيق عبارة عن واجهة مستخدم قائمة على قارورة Python مصممة لتسهيل توليد نص إلى كلام باستخدام لحاء Suno AI. يوفر مجموعة متنوعة من خيارات التخصيص ، بما في ذلك القدرة على تعديل الملعب الصوتي والسرعة والمعلمات الأخرى.
لقطة شاشة
تثبيت
- قم بتثبيت اللحاء باتباع الإرشادات من مستودع اللحاء. 1A. إذا لم تكن قد قمت بتشغيل Bark قبل أن تحتاج إلى تنزيل النماذج ، فسيقوم تشغيل الاختبار بتنزيل النماذج المطلوبة وتخزينها (تختلف نماذج الملاحظات بما في ذلك حجم أكثر من 5 جيجابايت).
python -m bark --text "Let's get this party started!" --output_filename "party.wav"
- بمجرد تشغيل Bark استنساخ هذا الريبو في دليل يسمى
webui داخل موقع تثبيت bark .
cd bark
git clone https://github.com/bradsec/barkwebui webui
- قم بتثبيت أي حزم Python إضافية المذكورة في ملف REVERESS.TXT لتلبية الواردات المطلوبة في
app.py و bark_connector.py . سيكون هناك واردات مشتركة تم تثبيتها بالفعل بواسطة عملية إعداد اللحاء. إذا كان ذلك ممكنًا قبل تثبيت الواردات ، قم بتنشيط بيئة Python VenV أو Conda/Miniconda التي تستخدمها في اللحاء. - قم بتشغيل
python barkwebui_server.py من داخل مجلد webui لبدء تطبيق خادم الويب Flask ويجب عرض إخراج مماثل:
* Serving Flask app 'barkwebui_server'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
- الوصول إلى تطبيق الويب عبر عنوان المتصفح كما هو موضح في النافذة الطرفية.
بناء
barkwebui_server.py يوفر وظيفة خادم الويب Flask تتلقى وإرجاع المعلومات من واجهة الويب وتنتقل إلى barkwebui_connector.py . كما يتعامل مع الكتابة والحذف من إدخالات من مواعيد JSON.
barkwebui_connector.py يقوم بتكسير إدخال النص قبل نقل النص إلى تطبيق اللحاء. يطبق أيضًا أي تأثير صوتي محدد مثل التغييرات على السرعة ، وملعب ، وخفض الضوضاء ، وإزالة الصمت إذا تم تحديده. سيقوم بعد ذلك بكتابة .wav مع اسم ملف فريد إلى دليل static/output .
templates/index.html ملف HTML الوحيد المستخدم للتطبيق. سيشير إلى ملفات أخرى مثل CSS و JavaScript من الدليل static .
static/js - يحتوي هذا الدليل على اثنين من JavaScript لصفحة قالب INDEX.HTML.
- يوفر
barkwebui.js معظم وظائف الصفحة والارتباط بين app.py باستخدام socket.io -
populate.js يملأ خيارات القائمة المنسدلة في index.html. -
theme.js لتبديل السمة المظلمة والخفيفة.
يحتوي static/output على ملفات الصوت WAV المكتملة.
يحتوي static/json على barkwebui.json الذي يحتوي على معلومات حول أي ملفات صوتية تم إنشاؤها.
درجة حرارة النص
تؤثر هذه المعلمة على كيفية توليد النموذج من الكلام من النص. تجعل قيمة درجة حرارة النص الأعلى ناتج النموذج بشكل عشوائي ، في حين أن قيمة درجة حرارة النص المنخفضة تجعل ناتج النموذج أكثر حتمية. بمعنى آخر ، مع ارتفاع درجة حرارة النص ، من المرجح أن يولد النموذج خطابًا غير عادي أو غير متوقع من موجه نص معين. من ناحية أخرى ، مع درجة حرارة النص المنخفضة ، من المرجح أن يلتزم النموذج بشكل وثيق بإخراج الأكثر احتمالًا. درجة حرارة الشكل الموجي
تؤثر هذه المعلمة على كيفية إنشاء النموذج الشكل الموجي الصوتي النهائي. تقدم قيمة درجة حرارة الموجة العالية مزيدًا من العشوائية في إخراج الصوت ، مما قد يؤدي إلى المزيد من الأصوات غير العادية أو التعديلات الصوتية. درجة حرارة الشكل الموجي المنخفض ، من ناحية أخرى ، تجعل ناتج الصوت أكثر قابلية للتنبؤ واتساق. تقليل الضوضاء / الحد من الضوضاء (NR)
قلل من ضوضاء الخلفية (ليس جيدًا مثل منظف AI المحسن وغالبًا ما يصعب تحديد التأثير على الصوت بالنظر إلى العشوائية لكل خطاب تم إنشاؤه بواسطة اللحاء حتى مع نفس الإعدادات ، فإنه لا يمكن أيضًا إزالة الصدى أو هلوسة الذكاء الاصطناعي). Code Ref (bark_connector.py): إذا كانت قيمة "delation_noise" صحيحة ، فإنها تؤدي إلى تقليل الضوضاء على الصوت الذي تم إنشاؤه باستخدام مكتبة noisereduce. يأخذ REVER_NOISE بيانات الصوت ومعدل العينة كمعلمات وإرجاع الصوت مع انخفاض الضوضاء. إذا كان LETER_NOISE خطأ ، فلا يتم تطبيق أي تقليل للضوضاء ، ويتم استخدام الصوت الأصلي. إزالة الصمت (RS)
قم بإزالة أي توقف مؤقت أو صمت (قد لا يفعل الكثير ، تم تضمينه في المواقف عند توليد الصوت الذي يحتوي على توقف طويل لأسباب غير معروفة). Code Ref (bark_connector.py): إذا كانت قيمة "remove_silence" صحيحة ، فإنها تتيح إزالة الصمت العدوانية عن طريق ضبط VAD (اكتشاف النشاط الصوتي) إلى المستوى 3. يتم استخدام مكتبة Webrtcvad للكشف عن النشاط الصوتي. إذا كان remove_silence خطأ ، يتم تعيين مستوى VAD على 0 ، مما يعني عدم تطبيق أي صمت. كان لا بد من تخفيض معدل العينة إلى 16000 من 24000 للحصول على العمل مع مكتبة WebRTCVAD. ضبط سرعة الصوت والملعب
قد تتسبب التغييرات في السرعة والملعب إلى قدر لا بأس به من الصدى والتردد في صوت الإخراج. قد يساعد تشغيل الصوت من خلال أداة صوتية منظمة العفو الدولية من طرف ثالث على إزالة الصدى أو الصدى. يتم استخدام مكتبة تسمى Librosa لمعالجة سرعة الصوت والملعب. يتم ضبط سرعة الصوت باستخدام وظيفة `librorosa.effects.time_stretch` ، التي تمتد أو يضغط الصوت بعامل معين. إذا كانت المعلمة السرعة التي تم تمريرها في وظيفة `generate_voice` ليست 1.0 (أي ، يجب تغيير سرعة الصوت) ، يتم وضع الصوت في الوقت المحدد بالمعدل المحدد. على سبيل المثال ، إذا كانت السرعة 2 ، فستكون مدة الصوت إلى النصف ، مما يجعله يلعب مرتين بالسرعة. يتم تعديل درجة الصوت باستخدام وظيفة `librorosa.effects.pitch_shift`. تقوم هذه الوظيفة بتحويل درجة الصوت من خلال عدد معين من الخطوات نصف. إذا لم تكن المعلمة الملعب التي تم تمريرها إلى وظيفة `cenerate_voice` ليست 0 (أي ، يجب تغيير درجة الصوت) ، يتم تحويل درجة الصوت من خلال العدد المعطى من الخطوات نصف. على سبيل المثال ، إذا كان الملعب 2 ، فسيتم زيادة درجة الصوت بمقدار نصف خطوتين. نتائج أوضح الكلام والصوت
ستحصل على خطاب أنظف ونتائج أفضل لتوليد فقط دون فحص NR أو RS وتشغيله من خلال أداة محسّنة من AI-Podcast endance أو غيرها من الأدوات المماثلة.