الوصف
WaveGlow هي شبكة توليد تعتمد على التدفق لتوليد الصوت، تم تطويرها بواسطة الباحثين في NVIDIA رايان برينجر، رافائيل فالي وبراين كاتانزارو. تجمع بين أفكار من Glow وWaveNet لتوليد صوت كلام عالي الجودة من أطياف الميل، دون خطوة فك التشفير التكرارية التي اعتمدت عليها مكبرات الصوت السابقة.
قراءة المزيد
تم تنفيذ الشبكة كنموذج واحد تم تدريبه باستخدام دالة تكلفة واحدة: تعظيم احتمال بيانات التدريب. وفقًا للورقة المرفقة، فإن هذا يجعل التدريب أبسط وأكثر استقرارًا من الأساليب متعددة المراحل، ويقال إن تنفيذ بايتورتش يولد الصوت بمعدل 1200 كيلوهرتز على وحدة معالجة الرسوميات NVIDIA V100، مع درجات رأي متوسطة قابلة للمقارنة مع أفضل تنفيذ متاح للجمهور لـ WaveNet في ذلك الوقت.
يوفر المستودع كل ما تحتاجه لإعادة إنتاج أو البناء على هذا العمل. يتوفر نقطة تفتيش WaveGlow المدربة مسبقًا وملفات أطياف الميل المطابقة لتشغيل الاستدلال على الفور، باستخدام سكربت inference.py لتوليد الصوت من قائمة ملفات أطياف الميل. لتدريب نموذج جديد، يتضمن المستودع سكربتات مبنية حول تنسيق مجموعة بيانات LJ Speech: يتم تقسيم قوائم الملفات إلى مجموعات تدريب واختبار، ويتم توليد أطياف الميل باستخدام mel2samp.py، وتتم عمليات التدريب من خلال train.py، مع توفر distributed.py لإعدادات متعددة وحدات معالجة الرسوميات. يمكن تفعيل التدريب بدقة مختلطة (fp16) من خلال ملف تكوين النموذج. سكربت تحويل منفصل، convert_model.py، يقوم بتحديث نقاط التفتيش القديمة المحفوظة قبل الهيكل الحالي للعمل معها، حيث أن النسخة الحالية تدمج الاتصالات المتبقية والاتصالات المتجاوزة في الشبكة.
تبدأ الإعدادات باستنساخ المستودع وتهيئة وحداته الفرعية، وتثبيت متطلبات بايثون، وتثبيت مكتبة Apex من NVIDIA، التي يعتمد عليها كود التدريب والاستدلال. نظرًا لأن المشروع هو إصدار بحثي بدلاً من تطبيق معبأ، فإن استخدامه يعني العمل مباشرة مع هذه السكربتات من سطر الأوامر بدلاً من واجهة رسومية.
يستهدف WaveGlow الباحثين والمهندسين في توليد الصوت الذين يرغبون في تنفيذ مرجع لمكبر الصوت لتشغيل الاستدلال، أو إعادة التدريب على بيانات صوت جديدة، أو المقارنة مع أساليب توليد أخرى مثل WaveNet. تتوفر عينات الصوت التي تم توليدها بواسطة النموذج على الموقع المرتبط بالمشروع، وتوثق الورقة المرفقة تقييم درجات الرأي المتوسطة المستخدمة للحكم على جودة الصوت.
- الفئةتحويل النص إلى كلام
- نموذج التسعيرمفتوح المصدر
- النشرسحابي, استضافة ذاتية
- المنصاتNVIDIA Blackwell, DRIVE, Jetson, RTX
الميزات الأساسية لـ WaveGlow
توليد صوت الكلام مباشرة من أطياف الميل دون خطوة فك تشفير تكرارية
مدرب باستخدام دالة تكلفة قصوى واحدة
يشمل نقطة تفتيش WaveGlow المدربة مسبقًا وبيانات أطياف الميل المطابقة للاستدلال
يتضمن سكربتات لتدريب نموذج جديد على تنسيق مجموعة بيانات LJ Speech
يدعم التدريب الموزع متعدد وحدات معالجة الرسوميات عبر NCCL
يدعم التدريب والاستدلال بدقة مختلطة (fp16)
يتضمن سكربت تحويل لتحديث نقاط التفتيش القديمة إلى الهيكل الحالي
يبلغ عن توليد الصوت بمعدل 1200 كيلوهرتز على وحدة معالجة الرسوميات NVIDIA V100 وفقًا للورقة المرفقة
البدء مع WaveGlow
استنساخ المستودع: استنساخ NVIDIA/waveglow وتهيئة وحدته الفرعية.
تثبيت المتطلبات: تثبيت متطلبات بايثون ومكتبة Apex.
الحصول على البيانات: تنزيل نموذج WaveGlow المدرب مسبقًا وعينات من أطياف الميل، أو مجموعة بيانات LJ Speech لتدريب نموذجك الخاص.
تشغيل الاستدلال: توليد الصوت من أطياف الميل باستخدام inference.py.
التدريب (اختياري): تشغيل train.py، أو distributed.py للتدريب متعدد وحدات معالجة الرسوميات، على مجموعة بياناتك الخاصة.
تقييم المخرجات: مقارنة جودة الصوت الناتج وضبط الإعدادات مثل fp16 أو معامل السيغما.
حالات استخدام WaveGlow
- تحويل النص إلى صوت
- بحث مكبر الصوت
- تدريب صوت مخصص





