احصل على الإصدار الأخير من nn~! تأكد من تنزيل الإصدار الصحيح للتثبيت الخاص بك.
بالنسبة لمستخدمي Mac ، يجب عليك تنزيل إصدار Arm64 فقط إذا كان جهاز Mac الخاص بك هو M1-2، وكان تثبيت Max/MSP أو PureData لا يستخدم Rosetta!
بالنسبة لمستخدمي نظام التشغيل Windows ، يلزم حاليًا نسخ جميع ملفات .dll
الموجودة في الحزمة nn~
بجوار الملف "Max.exe" القابل للتنفيذ.
قم بفك ضغط ملف .tar.gz
في مجلد الحزمة الخاص بتثبيت Max الخاص بك، أي في Documents/Max 8/Packages/
.
يمكنك بعد ذلك إنشاء كائن nn~
. اعتمادًا على التثبيت الذي قمت به، قد تحصل على تحذير العزل، مثل هذا التحذير
في معظم الحالات، تؤدي متابعة الإزالة إلى تعطيل هذا التحذير حتى التحديث التالي لـ nn~
. إذا استمر نظام MacOS في حظر الملفات الخارجية، فقد يتعين عليك تجميعها بنفسك.
انقر بزر الماوس الأيمن على كائن nn~
لفتح تصحيح المساعدة، واتبع علامات التبويب لمعرفة المزيد حول هذا المشروع.
قم بفك ضغط الملف .tar.gz
الموجود في مجلد الحزمة الخاص بتثبيت Pd الخاص بك، أي في Documents/Pd/externals/
. يمكنك بعد ذلك إضافة مسار جديد في قائمة Pd/File/Preferences/Path
مع الإشارة إلى المجلد nn_tilde
.
في نظام التشغيل MacOS، على عكس Max/MSP، لا تتضمن PureData إجراء إزالة عزل تلقائي. ولذلك علينا أن نفعل ذلك يدويا. قم بتشغيل الوحدة الطرفية، ثم cd
إلى مجلد nn_tilde
. الأمر التالي سوف يحل المشكلة
xattr -r -d com.apple.quarantine .
في جوهرها، nn~
هي طبقة ترجمة بين Max/MSP أو PureData وواجهة libtorch c++ للتعلم العميق. بمفردها، nn~
تشبه الصدفة الفارغة، وتتطلب نماذج مدربة مسبقًا للعمل. يمكنك العثور على بعض نماذج RAVE هنا، أو بعض نماذج vschaos2 هنا.
النموذج المُدرب مسبقًا لـ nn~
عبارة عن ملفات torchscript ، بامتداد .ts
. قم بإنشاء مجلد في مكان ما على جهاز الكمبيوتر الخاص بك، على سبيل المثال في
Documents/pretrained_models/
وأضف هذا المسار إلى Max أو PureData يتضمن المسار (Max: Options/File Preferences
، PureData: File/Preferences/Path
).
بمجرد الانتهاء من ذلك، يمكنك تحميل نموذج باستخدام الصيغة التالية (هنا لتحميل نموذج تم تدريبه مسبقًا والموجود في Documents/pretrained_models/decoder_only.ts
)
ماكس / إم إس بي | بيور داتا |
---|---|
لاحظ أنه يتعين عليك تضمين الامتداد .ts
في إصدار PureData. اعتمادًا على الطراز الذي تم تحميله، سيكون هناك عدد مختلف من المداخل/المنافذ، يتوافق مع المدخلات والمخرجات المختلفة للنموذج.
قد يكون للنموذج الذي تم تدريبه مسبقًا عدة طرق مختلفة، مع تأثيرات واستخدامات مختلفة. على سبيل المثال، يحتوي نموذج RAVE على ثلاث طرق مختلفة، تتوافق مع أجزاء فرعية مختلفة من النموذج. ومن أجل المثال سنشرحها في الجدول التالي:
اسم الطريقة | وصف | المدخلات | النواتج |
---|---|---|---|
ترميز | يقوم بتشفير الإشارة الصوتية إلى مسار كامن | إشارة صوتية | مسارات كامنة متعددة |
فك التشفير | يقوم بفك تشفير المسار الكامن إلى إشارة صوتية | مسارات كامنة متعددة | إشارة صوتية |
إلى الأمام (افتراضي) | يقوم بتشفير وفك تشفير الإشارة الصوتية | إشارة صوتية | إشارة صوتية |
يمكن للمستخدم التبديل بين الطرق أثناء الإنشاء عن طريق إضافة وسيطة ثانية إلى nn~
لاستدعاء الطريقة المطلوبة.
ماكس / إم إس بي | بيور داتا |
---|---|
من الممكن تكوين النماذج بعد تهيئتها باستخدام سمات خاصة، يتم تحديد نوعها وتأثيرها بالكامل بواسطة النموذج نفسه، باستثناء سمة enable
التي يمكن تعيينها إما على 0 أو 1 لتمكين النموذج أو تعطيله، مما قد يؤدي إلى الحفظ حساب يصل.
يمكن تعيين سمات النموذج باستخدام messages باستخدام الصيغة التالية:
set ATTRIBUTE_NAME ATTRIBUTE_VAL_1 ATTRIBUTE_VAL_2
باستخدام الكائنات الرسومية Max/MSP وPureData، يمكن أن يؤدي ذلك إلى طريقة بديهية لتعديل سلوك النموذج، كما هو موضح أدناه حيث لدينا سمتان للنموذج (أي درجة حرارة التوليد ووضع التوليد)، وسمة enable
الخاصة.
ماكس / إم إس بي | بيور داتا |
---|---|
تعتمد قائمة السمات والقيم مرة أخرى على النموذج ويجب استرجاعها في وثائق النموذج.
داخليًا، يحتوي nn~
على آلية عازلة دائرية تساعد في الحفاظ على حمل حسابي معقول. يمكنك تعديل حجمه من خلال استخدام عدد صحيح إضافي بعد إعلان الطريقة، كما هو موضح أدناه
ماكس / إم إس بي | بيور داتا |
---|---|
يتضمن إصدار Max/MSP لـ nn~
عناصر خارجية إضافية، وهي mc.nn~
و mcs.nn~
، مما يسمح باستخدام القدرات المتعددة القنوات لـ Max 8+ لتبسيط عملية التصحيح باستخدام nn~
وتقليل الحمل الحسابي بشكل اختياري.
في الأمثلة التالية، يتم تشفير ملفين صوتيين ثم فك تشفيرهما بنفس النموذج بالتوازي
يمكن تحسين هذا التصحيح بصريًا وحسابيًا باستخدام mc.nn~
واستخدام العمليات المجمعة
باستخدام mc.nn~
نقوم ببناء الإشارات متعددة القنوات على دفعات مختلفة . في المثال أعلاه، سيكون لكل إشارة متعددة القنوات قناتين مختلفتين. نقترح أيضًا mcs.nn~
الخارجي الذي يبني إشارات متعددة القنوات على أبعاد مختلفة ، كما هو موضح في المثال أدناه
في المثال أعلاه، تحتوي كل من الإشارتين متعددتي القنوات الناتجتين عن كائن nn~ rave encode 2
على 16 قناة، تتوافق مع الأبعاد الكامنة الـ 16. يمكن أن يساعد هذا في عملية التصحيح، مع الحفاظ على قدرات التجميع لـ mc.nn~
عن طريق إنشاء عدد محدد من المداخل/المخارج المقابلة لعدد الأمثلة التي نريد معالجتها بالتوازي.
للتلخيص، يعمل nn~
العادي على مثال واحد، ويحتوي على عدد من المداخل/المخارج بقدر ما يحتوي النموذج على مدخلات/مخرجات. يشبه mc.nn~
الخارجي nn~
، لكن يمكنه معالجة أمثلة متعددة في نفس الوقت . يختلف متغير mcs.nn~
قليلاً، ويمكنه معالجة أمثلة متعددة في نفس الوقت، ولكن سيكون له مدخل/مخرج واحد لكل مثال .
تمكين/تعطيل الحساب لحفظ الحساب دون حذف النموذج. على غرار كيفية عمل وظيفة الالتفافية .
يعيد تحميل النموذج ديناميكيًا. يمكن أن يكون مفيدًا إذا كنت تريد تحديث حالة النموذج بشكل دوري أثناء التدريب.
git clone https://github.com/acids-ircam/nn_tilde --recursive
cd nn_tilde
mkdir build
cd build
cmake ../src/ -DCMAKE_PREFIX_PATH=/path/to/libtorch -DCMAKE_BUILD_TYPE=Release
make
.mxo
الخارجي الناتج إلى الداخل ~/Documents/Max 8/Packages/nn_tilde/externals/
يمكنك إنشاء nn~
لـ PureData عن طريق إضافة -DPUREDATA_INCLUDE_DIR=/Applications/Pd-X.XX-X.app/Contents/Resources/src/
إلى استدعاء cmake.
git clone https://github.com/acids-ircam/nn_tilde --recurse-submodules
cd nn_tilde
mkdir build
cd build
cmake .. s rc -A x64 -DCMAKE_PREFIX_PATH= " <unzipped libtorch directory> " -DPUREDATA_INCLUDE_DIR= " <path-to-pd/src> " -DPUREDATA_BIN_DIR= " <path-to-pd/bin> "
cmake --build . --config Release
على الرغم من إمكانية تجميع nn~ واستخدامها على Raspberry Pi، إلا أنه قد يتعين عليك التفكير في استخدام نماذج أخف للتعلم العميق. نحن ندعم حاليًا نظام التشغيل 64 بت فقط.
قم بتثبيت nn~ لاستخدام PureData
curl -s https://raw.githubusercontent.com/acids-ircam/nn_tilde/master/install/raspberrypi.sh | bash
يتم قيادة هذا العمل في IRCAM، وتم تمويله من خلال المشاريع التالية