رمز للورقة Vande Veire، Len and De Bie، Tijl and De Boom، Cedric، "Sigmoidal NMFD: NMF التلافيفي مع التنشيط المشبع لتحلل حلقة الطبل" .
# تنزيل نسخة repositorygit https://github.com/aida-ugent/sigmoidal-nmfdcd sigmoidal-nmfd# متطلبات التثبيت...# ... لمستخدمي conda:conda create --name sigmoidnmfd --file requires.txt# ... بدلاً من ذلك: تثبيت النقطة -r متطلبات.txt
ستحتاج أيضًا إلى تثبيت ملف الصوت:
sudo apt-get install libsndfile1
يقوم البرنامج النصي run_nmfd_sigmoid.py
بتطبيق NMFD السيني على الملف الصوتي المقدم. على سبيل المثال:
بايثون -m scripts.run_nmfd_sigmoid Resources/moonkits-hiphop.wav 4 --plot
يمكن تشغيل خوارزمية NMFD الأصلية على النحو التالي:
بايثون -m scripts.run_nmfd_vanilla Resources/moonkits-hiphop.wav 4 --plot
يمكن تشغيل خط الأساس NMFD المتناثر على النحو التالي:
python -m scripts.run_nmfd_sparsity Resources/moonkits-hiphop.wav 4 --sparsity 0.1 --plot
أولاً، قم بتنزيل مجموعة بيانات ENST.
ثم قم بتنفيذ البرنامج النصي experiment_nmfdsigmoid_on_enst.py
:
python -m scripts.experiment_nmfdsigmoid_on_enst --dir-enst /path/to/ENST-drums-public --dir-out /home/user/somedirectory --tracklist "resources/tracklists/tracklist_enst_allphrases.csv"
سيؤدي هذا تلقائيًا إلى قص ملفات عبارات ENST كما هو موضح في الورقة، وحفظها في دليل جديد، وتطبيق جميع خطوط الأساس والنموذج السيني المقترح على جميع العبارات التي تم اقتصاصها في مجموعة البيانات. يتم حفظ النتائج في أرشيفات .npz (ملاحظة: يتطلب هذا حوالي 1 جيجابايت من مساحة القرص). سيتم بعد ذلك طباعة قيم المقاييس المجمعة في جميع الأمثلة.
ويمكن تنفيذ تجارب الاجتثاث بالقياس.
بالنسبة لتجارب الاجتثاث على NMFD السيني، بما في ذلك تقييم استراتيجيات التحسين المختلفة:
python -m scripts.experiment_ablation_nmfdsigmoid_on_enst --dir-enst /path/to/ENST-drums-public --dir-out /home/user/somedirectory --tracklist "resources/tracklists/tracklist_enst_allphrases.csv"
بالنسبة إلى NMFD المتناثر مع مرحلة إحماء غير مقيدة:
python -m scripts.experiment_nmfdsparse_with_warmup.py --dir-enst /path/to/ENST-drums-public --dir-out /home/user/somedirectory --tracklist "resources/tracklists/tracklist_enst_allphrases.csv"
لاحظ أن المعالجة المتوازية مدعومة بإضافة علامة --parallel
في الأوامر المذكورة أعلاه لتجارب الاجتثاث.
يمكن إعادة إنشاء قيم التهيئة للقوالب W
في إطار عمل NMFD باستخدام البرنامج النصي create_nmf_drum_templates_from_sample_library.py
.
على سبيل المثال، استخدم عينات الطبل هذه من Producerspot، كما فعلنا في هذه المقالة.
ثم نفذ:
بيثون create_nmf_drum_templates_from_sample_library.py --samples-list-file Resources/tracklist/templates/samples_kick.csv --output-file Resources/templates/kick.npy بيثون create_nmf_drum_templates_from_sample_library.py --samples-list-file Resources/tracklist/templates/samples_snare.csv --موارد ملف الإخراج/قوالب/snare.npy بايثون create_nmf_drum_templates_from_sample_library.py --samples-list-file Resources/tracklist/templates/samples_hihat.csv --output-file Resources/templates/hihat.npy بايثون create_nmf_drum_templates_from_sample_library.py --samples-list-file Resources/tracklist/templates/samples_crash.csv --output-file Resources/templates/crash.npy
حقوق الطبع والنشر 2020 لين فاندي فيري.
هذا الكود الموجود في هذا المستودع هو برنامج مجاني: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة جنو العامة كما نشرتها مؤسسة البرمجيات الحرة، إما الإصدار 3 من الرخصة، أو (حسب اختيارك) في أي وقت لاحق إصدار.
يتم توزيع هذا البرنامج على أمل أن يكون مفيدًا، ولكن دون أي ضمان؛ دون حتى الضمان الضمني لقابلية التسويق أو الملاءمة لغرض معين. راجع رخصة جنو العامة لمزيد من التفاصيل.
ينبغي أن تكون قد حصلت على نسخة من رخصة جنو العامة مع هذا البرنامج. إذا لم يكن الأمر كذلك، راجع https://www.gnu.org/licenses/.