New neural lv2 plugin from Aida DSP based extensively on existing NeuralPi, reduced to the bone

Tried the IRs with IR Loader Cabsim and they are loud and delayed. Definitely something is wrong there…
48kHz 1024 samples file are more than enough for cab IRs.

2 Likes

Is journalctl | grep jackd showing something useful?

3 Likes

Thanks, now I see

Jan 01 02:15:03 moddwarf mod-jackd[315]: lilv_lib_open(): error: Failed to open library /root/.lv2/rt-neural-generic.lv2/rt-neural-generic.so (/lib64/libm.so.6: version `GLIBC_2.29' not found (required by /root/.lv2/rt-neural-generic.lv2/rt-neural-generic.so))

We have libc-2.27.so on Dwarf.

2 Likes

Okay I can try to arrange a mk file but I can’t build at the moment who can help? So we can release a Beta for the Duo!

Regarding the IRs, I should have fixed them, can you double check?

6 Likes

IRs now are perfectly working :sunglasses:

8 Likes

Guys… This is A.MA.ZING !

Blown away!!!

9 Likes

Hi, I’ve sent some PRs to moddevices @falkTX FYI

plus necessary changes to file browser feature to have device model files in Mod

Models in plugin have been renamed from originals to avoid licensing issues. For now, I was able to train the following models

Moon

  • MoonAcoustic.json Neural DSP Archetype Plini High Life Acoustic Preset
  • MoonCrunch.json Neural DSP Archetype Plini Electric Sunrise Crunch Preset
  • MoonJazz.json Neural DSP Archetype Plini Sunhead JazzClean Preset
  • MoonRiff.json Neural DSP Archetype Plini Electric Sunrise Riff Preset

Vintage

  • VintageEdgeOfBreakup.json Neural DSP Tone King Imperial MKII Pete Thorn Preset
  • VintagePedalPlatform.json Neural DSP Tone King Imperial MKII Pete Thorn Preset
  • VintageRockRythm.json Neural DSP Tone King Imperial MKII Pete Thorn Preset
  • VintageRockSolo.json Neural DSP Tone King Imperial MKII Pete Thorn Preset
  • VintageUnderWater.json Neural DSP Tone King Imperial MKII Pete Thorn Preset

IRs

  • I’ve registered impulse responses for the cab used in the presets, need to understand how to package them but for now they’re in the repo

I don’t know what are the next steps on Mod side, meanwhile I will continue developing the plugin in particular adding new models. Any preference?

Last but not least, if you think I deserved a beer then I’ve added the donation button in the repo.

10 Likes

Thanks a lot! I’ll try it asap. I’d like to have more crunchy amps like Fender Blackface, Princeton Reverb, Bassman Tweed, Matchless, Vox AC30. On the hi-again side I’d like a Custom Audio OD-100, a Soldano SLO-100 and Plexi (all with no cab). Maybe could be worth to rip some of them from a Fractal Audio device :sweat_smile:

4 Likes
CMake Error at rt-neural-generic/CMakeLists.txt:14 (add_subdirectory):
  The source directory

    /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/modules/RTNeural

  does not contain a CMakeLists.txt file.


-- Found PkgConfig: /home/user/mod-workdir/moddwarf/host/usr/bin/pkg-config (found version "0.28") 
-- Checking for module 'lv2>=1.10.0'
--   Found lv2, version 1.18.2
-- Configuring incomplete, errors occurred!
See also "/home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/CMakeFiles/CMakeOutput.log".
make: *** [package/pkg-generic.mk:188: /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/.stamp_configured] Error 1

1 Like

This one should be easy, I need to tweak mk file to fetch a repo with submodules, in recursive mode

4 Likes

This thread is amazing to watch—please don’t forget your bass-playing brothers and sisters!

9 Likes

Oh! You’re part of the game from the beginning. In the Dataset I’ve created as well as in the one mentioned in the paper there are two tracks: Bass and Guitar. It seems a portion of Bass help the nn to learn the device modeled, so an equal portion of bass is inserted in train, test and val. I would be curious to train over a bass amp with the very same dataset. I guess Neural DSP has some Bass stuff aren’t they? Problem here is we need to create a virtual room where people with gear like real amps and effects can meet people with a Colab subscription like me. Otherwise time I get back to my everyday job and this thread could freeze for a while. Now we have a neural lv2 plugin without all unnecessary Juce stuff, plus a very small list of trained models, plus companion IRs to be used with available ir loaders (mod cabsim, but I prefer lsp) and file manager integration. We need to decide what to do next. I think the training process could be automatized, recently Ik Multimedia introduces Tone X TONEX. Honestly I would prefer a real person to follow the training process of the model, but an opensource version of the utility that you enter files and you get json models in output would be awesome.

5 Likes

Hello @madmaxwell

I’m loving this thread but as a total noob on this deep learning stuff I need to understand a few things.

Will we be able to train the plugin to obtain our own new models or the plugin will only “play” the models?

I would love to have my equipment modeled and uploaded to my MOD… :wink:

3 Likes

same here! I’ve got an Eden WT-500 and an Eden D-410XLT that I’d love to get modeled so I don’t ever have to move them again.

2 Likes

For now the train workflow is entirely external to the plugin, is actually done by invoking a python script on a Colab instance running with GPU. I think it’s time for the thread on how to train new models. Here I would like to keep plugin devel stuff. I couldn’t create the thread until now since I’ve made a lot of tests to understand better the workflow, that is now rather simple: you record two audio files at 48kHz, you give them to the python script and you take a break for the next 2h. The neural network learn to imitate the amp model, it does this with a precision that is expressed in ESR and at the moment with the depth of the network I’m using, I’m obtaining ESR 0.008-0.011 which is pretty good. The ankward thing is that until now I’ve trained over Neural DSP’s plugins which are neural models on their own. This is mostly because I’m a bit of a Neural fan boy, despite I hate everything about iLok and Pace and so on. Well the idea of the plugin that do training is cool, but if the plugin is running on an embedded device without Neural Accellerators then I see it very hard to pursue. Instead, I would like to provide the model generation like a web service, so that the user load the recorded files on a web interface, select the network type and then the server will send a query to a cluster or a Colab instance. Yet the device could acts as an audio card recording the Dataset through the hardware, but still external hw would be necessary, for a real amp you need a reactive load, in my case (plugin running in my DAW) it wouldn’t make sense to do recording on the device.

7 Likes

I Heard you!

I’m no dev but will keep following this thread.
An ex-student of mine is involved with AI and deep learning. He is the CEO of Somma.ai.
I will try to reach out to him and maybe learn more about all of this.

Thanks a lot for the explanation.
You definitely deserve a beer! (or several) :grin:
Cheers

5 Likes

jep - me too.Thanks for the explanation.
Do the audio files have to be recorded for real or can I just send a pink noise or special eq sweep through my setup and then to the script?

I have an Azure budget of around 150€ per month. Do you think its possible to use that for the script?

7 Likes

Thanks for your hard work man.

Have a couple of beers on me :slight_smile:

6 Likes

Here we have the trainining / model sims creation thread. @rogeriocouto @spunktsch take a look plz.

@redcloud can you pull the mod-plugin-builder branch I should have fixed the submodule issue in the PR

5 Likes
user@debian:~/mod-devices/mod-plugin-builder$ ./build moddwarf aidadsplv2
AIDADSPLV2
/usr/bin/make -j1 O=/home/user/mod-workdir/moddwarf HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++" silentoldconfig
make[1]: Entering directory '/home/user/mod-workdir/moddwarf/build/buildroot-2016.02'
  GEN     /home/user/mod-workdir/moddwarf/Makefile
BR2_DEFCONFIG='' KCONFIG_AUTOCONFIG=/home/user/mod-workdir/moddwarf/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/home/user/mod-workdir/moddwarf/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/home/user/mod-workdir/moddwarf/build/buildroot-config/tristate.config BR2_CONFIG=/home/user/mod-workdir/moddwarf/.config BR2_EXTERNAL=/home/user/mod-devices/mod-plugin-builder/plugins-dep HOST_GCC_VERSION="10" SKIP_LEGACY= /home/user/mod-workdir/moddwarf/build/buildroot-config/conf --silentoldconfig Config.in
make[1]: Leaving directory '/home/user/mod-workdir/moddwarf/build/buildroot-2016.02'
if [ ! -e /home/user/mod-workdir/download/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a.tar.gz ]; then rm -rf /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a; git clone --recursive https://github.com/AidaDSP/aidadsp-lv2.git /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a; git -C /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a reset --hard 2963a6d4996ab291e270c312c8e1ef4380aa6c9a; git -C /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a submodule update; tar --exclude=".git" -czf /home/user/mod-workdir/download/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a.tar.gz -C /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a .; touch /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/.stamp_downloaded /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/.stamp_extracted; fi
>>> aidadsplv2 2963a6d4996ab291e270c312c8e1ef4380aa6c9a Extracting
gzip -d -c /home/user/mod-workdir/download/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a.tar.gz | tar --strip-components=1 -C /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a   -xf -
>>> aidadsplv2 2963a6d4996ab291e270c312c8e1ef4380aa6c9a Patching
>>> aidadsplv2 2963a6d4996ab291e270c312c8e1ef4380aa6c9a Configuring
(mkdir -p /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/ && cd /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/ && rm -f CMakeCache.txt && PATH="/home/user/mod-workdir/moddwarf/host/bin:/home/user/mod-workdir/moddwarf/host/sbin:/home/user/mod-workdir/moddwarf/host/usr/bin:/home/user/mod-workdir/moddwarf/host/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"  /home/user/mod-workdir/moddwarf/host/usr/bin/cmake /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/ -DCMAKE_TOOLCHAIN_FILE="/home/user/mod-workdir/moddwarf/host/usr/share/buildroot/toolchainfile.cmake" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_DOC=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLE=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF -DBUILD_TESTS=OFF -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON  -DRTNEURAL_ENABLE_AARCH64=ON -DRTNEURAL_XSIMD=ON )
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /home/user/mod-workdir/moddwarf/host/usr/bin/aarch64-mod-linux-gnu-gcc
-- Check for working C compiler: /home/user/mod-workdir/moddwarf/host/usr/bin/aarch64-mod-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/user/mod-workdir/moddwarf/host/usr/bin/aarch64-mod-linux-gnu-g++
-- Check for working CXX compiler: /home/user/mod-workdir/moddwarf/host/usr/bin/aarch64-mod-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMAKE_CXX_FLAGS_RELEASE in aidadsp-lv2 = -O3 -DNDEBUG -fprefetch-loop-arrays -funroll-loops -static-libstdc++ -Wl,-Ofast -Wl,--as-needed -Wl,--strip-all
CMAKE_SHARED_LINKER_FLAGS_RELEASE in aidadsp-lv2 =  -static-libstdc++ -Wl,-Ofast -Wl,--as-needed -Wl,--strip-all
RTNEURAL_XSIMD in aidadsp-lv2 = ON
CMake Error at rt-neural-generic/CMakeLists.txt:14 (add_subdirectory):
  The source directory

    /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/modules/RTNeural

  does not contain a CMakeLists.txt file.


-- Found PkgConfig: /home/user/mod-workdir/moddwarf/host/usr/bin/pkg-config (found version "0.28") 
-- Checking for module 'lv2>=1.10.0'
--   Found lv2, version 1.18.2
-- Configuring incomplete, errors occurred!
See also "/home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/CMakeFiles/CMakeOutput.log".
make: *** [package/pkg-generic.mk:188: /home/user/mod-workdir/moddwarf/build/aidadsplv2-2963a6d4996ab291e270c312c8e1ef4380aa6c9a/.stamp_configured] Error 1

3 Likes