هذا مستودع لورقةنا ؟ Nix-TTS (مقبولة إلى IEEE SLT 2022). أصدرنا النماذج المسبقة ، وعروض تجريبية تفاعلية ، وعينات صوتية أدناه.
[[؟ رابط الورق] (قريبا!)] [؟ عرض تفاعلي] [؟ عينات صوتية]
الملخص العديد من الحلول ل TTS خفيفة الوزن أظهرت نتائج واعدة. ومع ذلك ، فإنهم إما يعتمدون على تصميم مصنوع يدويًا يصل إلى حجم غير الأمثل أو يستخدمون بحثًا في الهندسة العصبية ولكنه في كثير من الأحيان يعانون من تكاليف التدريب. نقدم NIX-TTS ، وهو TTS خفيفة الوزن يتم تحقيقه عن طريق تقطير المعرفة لنموذج TTS عالي الجودة ولكنه لا يحظى بحجم غير ذاتي ، ونظام إلى طرف إلى طرف (خالي من المبرر). على وجه التحديد ، نحن نقدم التقطير النمطية ، مما يتيح التقطير المرن والمستقل إلى وحدة التشفير ووحدة فك الترميز. ورثت NIX-TTS الناتجة عن الخصائص المفيدة المتمثلة في كونها غير أوتورة ونهاية من المعلم ، ولكنها أصغر حجمًا كبيرًا ، مع 5.23 متر فقط أو ما يصل إلى 89.34 ٪ من نموذج المعلم ؛ كما أنه يحقق أكثر من 3.04 دولارًا مرات و 8.36 دولارًا مرات تسريع الاستدلال على وحدة المعالجة المركزية Intel-I7 و Raspberry PI 3B على التوالي ولا يزال يحتفظ بصوت نزيه ووضوح مقارنة بنموذج المعلم.
استنساخ مستودع nix-tts وانتقل إلى دليله
git clone https://github.com/rendchevi/nix-tts.git
cd nix-ttsتثبيت التبعيات
python >= 3.8 pip install -r requirements.txt sudo apt-get install espeakأو اتبع التعليمات الرسمية في حال لم تنجح.
قم بتنزيل النموذج الذي تم اختياره مسبقًا هنا .
| نموذج | عدد. من المعلمات | أسرع من الوقت الفعلي * (CPU Intel-I7) | أسرع من الوقت الفعلي * (Raspi Model 3B) |
|---|---|---|---|
| Nix-TTS (ONNX) | 5.23 م | 11.9x | 0.50x |
| nix-tts w/ مدة ستوكاستيك (ONNX) | 6.03 م | 10.8x | 0.50x |
* هنا نحسب مقدار ما يعمله النموذج بشكل أسرع من الوقت الفعلي باعتباره عكس عامل الوقت الحقيقي (RTF). يتم تفصيل الجدول الكامل لجميع النماذج على الورقة على الورقة.
وتشغيل nix-tts سهل مثل:
from nix . models . TTS import NixTTSInference
from IPython . display import Audio
# Initiate Nix-TTS
nix = NixTTSInference ( model_dir = "<path_to_the_downloaded_model>" )
# Tokenize input text
c , c_length , phoneme = nix . tokenize ( "Born to multiply, born to gaze into night skies." )
# Convert text to raw speech
xw = nix . vocalize ( c , c_length )
# Listen to the generated speech
Audio ( xw [ 0 , 0 ], rate = 22050 )