تنفيذ Pytorch لـ GenerSpeech (Neurips'22): نموذج نص إلى خطط نحو نقل نمط الصفر العالي الصفر للصوت المخصص.
نحن نقدم تنفيذنا ونماذج ما قبل ذلك في هذا المستودع.
تفضل بزيارة الصفحة التجريبية الخاصة بنا لعينات الصوت.
نحن نقدم مثالاً على كيفية إنشاء عينات عالية الدقة باستخدام GenerSpeech.
لتجربة مجموعة البيانات الخاصة بك ، ما عليك سوى استنساخ هذا الريبو في الجهاز المحلي الخاص بك مزودًا بـ NVIDIA GPU + CUDA CUDNN واتبع التعليمات أدناه.
يمكنك استخدام النماذج المسبقة التي نقدمها هنا ، والبيانات هنا. تفاصيل كل مجلد كما في التالي:
| نموذج | مجموعة البيانات (16 كيلو هرتز) | وصف |
|---|---|---|
| Generspeech | Libritts ، ESD | نموذج صوتي (التكوين) |
| HIFI-GAN | Libritts ، ESD | الصوت العصبي |
| تشفير | / | تشفير العاطفة |
المزيد من مجموعات البيانات المدعومة قريبا.
يمكن إنشاء وتنشيط بيئة مناسبة Conda المسماة generspeech وتنشيطها مع:
conda env create -f environment.yaml
conda activate generspeech
بشكل افتراضي ، يستخدم هذا التنفيذ أكبر عدد ممكن من وحدات معالجة الرسومات بالتوازي مع إرجاع torch.cuda.device_count() . يمكنك تحديد وحدات معالجة الرسومات التي يجب استخدامها عن طريق تعيين متغير البيئة CUDA_DEVICES_AVAILABLE قبل تشغيل وحدة التدريب.
نحن هنا نقدم خط أنابيب تخليق الكلام باستخدام GenerSpeech.
checkpoints/GenerSpeechcheckpoints/trainset_hifigancheckpoints/Emotion_encoder.ptdata/binary/training_setCUDA_VISIBLE_DEVICES= $GPU python inference/GenerSpeech.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --hparams= " text='here we go',ref_audio='assets/0011_001570.wav' " يتم حفظ ملفات WAV التي تم إنشاؤها في infer_out افتراضيًا.
raw_data_dir ، processed_data_dir ، binary_data_dir في ملف التكوين ، وقم بتنزيل مجموعة البيانات إلى raw_data_dir .preprocess_cls في ملف التكوين. تحتاج بنية مجموعة البيانات إلى اتباع المعالج preprocess_cls ، أو يمكنك إعادة كتابتها وفقًا لمجموعة البيانات الخاصة بك. نحن نقدم معالج Libritts كمثال في modules/GenerSpeech/config/generspeech.yamlemotion_encoder_path . لمزيد من التفاصيل ، يرجى الرجوع إلى هذا الفرع. # Preprocess step: unify the file structure.
python data_gen/tts/bin/preprocess.py --config $path /to/config
# Align step: MFA alignment.
python data_gen/tts/bin/train_mfa_align.py --config $path /to/config
# Binarization step: Binarize data for fast IO.
CUDA_VISIBLE_DEVICES= $GPU python data_gen/tts/bin/binarize.py --config $path /to/configيمكنك أيضًا إنشاء مجموعة بيانات عبر Natspeech ، والتي تشترك في إجراء معالجة بيانات MFA مشتركة. نحن نقدم أيضًا مجموعة البيانات المصنعة (16 كيلو هرتز Libritts+ESD).
CUDA_VISIBLE_DEVICES= $GPU python tasks/run.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --resetCUDA_VISIBLE_DEVICES= $GPU python tasks/run.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --inferيستخدم هذا التنفيذ أجزاء من الكود من GitHub Repos التالية: FastDiff ، Natspeech ، كما هو موضح في الكود لدينا.
إذا وجدت هذا الرمز مفيدًا في بحثك ، فيرجى الاستشهاد بعملنا:
@inproceedings { huanggenerspeech ,
title = { GenerSpeech: Towards Style Transfer for Generalizable Out-Of-Domain Text-to-Speech } ,
author = { Huang, Rongjie and Ren, Yi and Liu, Jinglin and Cui, Chenye and Zhao, Zhou } ,
booktitle = { Advances in Neural Information Processing Systems }
}يُحظر على أي منظمة أو فرد استخدام أي تقنية مذكورة في هذه الورقة لتوليد خطاب شخص ما دون موافقته ، بما في ذلك على سبيل المثال لا الحصر قادة الحكومة والشخصيات السياسية والمشاهير. إذا كنت لا تمتثل لهذا العنصر ، فقد تكون في انتهاك لقوانين حقوق الطبع والنشر.