Dapatkan rilis terbaru nn~! Pastikan untuk mengunduh versi yang benar untuk instalasi Anda.
Pengguna Mac , Anda harus mengunduh versi arm64 jika dan hanya jika Mac Anda adalah M1-2, dan instalasi Max/MSP atau PureData Anda tidak menggunakan Rosetta!
Pengguna Windows , untuk saat ini semua file .dll
dalam paket nn~
harus disalin di sebelah ˋMax.exeˋ yang dapat dieksekusi.
Buka kompresi file .tar.gz
di folder Package instalasi Max Anda, yaitu di Documents/Max 8/Packages/
.
Anda kemudian dapat membuat instance objek nn~
. Tergantung pada instalasi Anda, Anda mungkin mendapatkan peringatan karantina, seperti ini
Dalam kebanyakan kasus, melanjutkan penghapusan akan menonaktifkan peringatan ini hingga pembaruan nn~
berikutnya. Jika MacOS terus memblokir eksternal, Anda mungkin harus mengkompilasinya sendiri.
Klik kanan pada objek nn~
untuk membuka patch bantuan, dan ikuti tab untuk mempelajari lebih lanjut tentang proyek ini.
Buka kompresi file .tar.gz
di folder Paket instalasi Pd Anda, yaitu di Documents/Pd/externals/
. Anda kemudian dapat menambahkan jalur baru di menu Pd/File/Preferences/Path
yang menunjuk ke folder nn_tilde
.
Di MacOS, tidak seperti Max/MSP, PureData tidak menyertakan prosedur penghapusan karantina otomatis. Oleh karena itu kita harus melakukannya secara manual. Jalankan terminal, dan cd
ke folder nn_tilde
. Perintah berikut akan memperbaiki masalah ini
xattr -r -d com.apple.quarantine .
Pada intinya, nn~
adalah lapisan terjemahan antara Max/MSP atau PureData dan antarmuka libtorch c++ untuk pembelajaran mendalam. Sendirian, nn~
seperti cangkang kosong, dan memerlukan model terlatih untuk beroperasi. Anda dapat menemukan beberapa model RAVE di sini, atau beberapa model vschaos2 di sini.
Model terlatih untuk nn~
adalah file torchscript , dengan ekstensi .ts
. Buat folder di suatu tempat di komputer Anda, misalnya di
Documents/pretrained_models/
dan tambahkan jalur ini ke jalur penyertaan Max atau PureData (Max: Options/File Preferences
, PureData: File/Preferences/Path
).
Setelah ini selesai, Anda dapat memuat model menggunakan sintaks berikut (di sini untuk memuat model terlatih yang terletak di Documents/pretrained_models/decoder_only.ts
)
Maks / MSP | Data Murni |
---|---|
Perhatikan bahwa Anda harus menyertakan ekstensi .ts
dalam versi PureData. Tergantung pada model yang dimuat, akan ada jumlah saluran masuk/keluar yang berbeda, sesuai dengan masukan dan keluaran model yang berbeda.
Model terlatih tertentu mungkin memiliki beberapa metode berbeda, dengan efek dan penggunaan berbeda. Misalnya, model RAVE memiliki tiga metode berbeda, sesuai dengan subbagian model yang berbeda. Sebagai contoh, kami akan menjelaskannya dalam tabel berikut:
Nama metode | Keterangan | masukan | Keluaran |
---|---|---|---|
menyandi | Mengkodekan sinyal audio ke dalam lintasan laten | sinyal audio | beberapa lintasan laten |
membaca sandi | Mendekode lintasan laten menjadi sinyal audio | beberapa lintasan laten | sinyal audio |
maju (standar) | Mengkodekan dan menerjemahkan sinyal audio | sinyal audio | sinyal audio |
Pengguna dapat beralih antar metode selama pembuatan instance dengan menambahkan argumen kedua ke nn~
memanggil metode yang diinginkan.
Maks / MSP | Data Murni |
---|---|
Dimungkinkan untuk mengonfigurasi model setelah inisialisasi menggunakan atribut khusus, yang jenis dan efeknya sepenuhnya ditentukan oleh model itu sendiri, dengan pengecualian atribut enable
yang dapat disetel ke 0 atau 1 untuk mengaktifkan atau menonaktifkan model, sehingga berpotensi menghemat komputasi.
Atribut model dapat diatur menggunakan messages , dengan sintaks berikut:
set ATTRIBUTE_NAME ATTRIBUTE_VAL_1 ATTRIBUTE_VAL_2
Dengan menggunakan objek grafis Max/MSP dan PureData, hal ini dapat menghasilkan cara intuitif untuk mengubah perilaku model, seperti yang ditunjukkan di bawah ini di mana kita memiliki dua atribut model (yaitu suhu pembangkitan dan mode pembangkitan), dan atribut enable
khusus.
Maks / MSP | Data Murni |
---|---|
Daftar atribut dan nilainya sekali lagi bergantung pada model dan harus diambil dalam dokumentasi model.
Secara internal, nn~
memiliki mekanisme buffer melingkar yang membantu mempertahankan beban komputasi yang wajar. Anda dapat mengubah ukurannya melalui penggunaan bilangan bulat tambahan setelah deklarasi metode, seperti yang ditunjukkan di bawah ini
Maks / MSP | Data Murni |
---|---|
Rilis Max/MSP dari nn~
mencakup eksternal tambahan, yaitu mc.nn~
dan mcs.nn~
, memungkinkan penggunaan kemampuan multikanal Max 8+ untuk menyederhanakan proses patching dengan nn~
dan secara opsional mengurangi beban komputasi.
Dalam contoh berikut, dua file audio dikodekan kemudian didekodekan oleh model yang sama secara paralel
Patch ini dapat ditingkatkan baik secara visual maupun komputasi dengan menggunakan mc.nn~
dan menggunakan operasi batch
Menggunakan mc.nn~
kami membangun sinyal multikanal pada batch yang berbeda . Pada contoh di atas, setiap sinyal multikanal akan mempunyai 2 kanal yang berbeda. Kami juga mengusulkan mcs.nn~
eksternal yang membangun sinyal multikanal pada dimensi yang berbeda , seperti yang ditunjukkan pada contoh di bawah ini
Dalam contoh di atas, dua sinyal multikanal yang dihasilkan oleh nn~ rave encode 2
masing-masing memiliki 16 kanal, sesuai dengan 16 dimensi laten. Hal ini dapat membantu melakukan patching, sekaligus menjaga kemampuan batching mc.nn~
dengan membuat jumlah inlet/oulet yang eksplisit sesuai dengan jumlah contoh yang ingin kita proses secara paralel.
Ringkasnya, nn~
reguler beroperasi pada satu contoh, dan memiliki banyak saluran masuk/keluar sesuai dengan jumlah masukan/keluaran yang dimiliki model. mc.nn~
eksternal seperti nn~
, tetapi dapat memproses banyak contoh secara bersamaan . Varian mcs.nn~
sedikit berbeda, dan dapat memproses beberapa contoh secara bersamaan, tetapi akan memiliki satu saluran masuk/keluar per contoh .
Aktifkan / Nonaktifkan komputasi untuk menyimpan komputasi tanpa menghapus model. Mirip dengan cara kerja fungsi bypass .
Memuat ulang model secara dinamis. Dapat berguna jika Anda ingin memperbarui status model secara berkala selama pelatihan.
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
eksternal yang dihasilkan di dalam ~/Documents/Max 8/Packages/nn_tilde/externals/
Anda dapat membuat nn~
untuk PureData dengan menambahkan -DPUREDATA_INCLUDE_DIR=/Applications/Pd-X.XX-X.app/Contents/Resources/src/
ke panggilan 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
Meskipun nn~ dapat dikompilasi dan digunakan di Raspberry Pi, Anda mungkin harus mempertimbangkan untuk menggunakan model pembelajaran mendalam yang lebih ringan. Saat ini kami hanya mendukung OS 64bit.
Instal nn~ untuk PureData menggunakan
curl -s https://raw.githubusercontent.com/acids-ircam/nn_tilde/master/install/raspberrypi.sh | bash
Pekerjaan ini dipimpin di IRCAM, dan didanai oleh proyek-proyek berikut