Neural Amp emulation plugin

For our lovely guitarists (including myself):

A plugin for emulating amps based on neuronal networks.

2 Likes

Long live the “pizzica strings” :heartbeat:

Has anyone tried building this on Zynthian?

Yes, or maybe I should say, “it’s complicated” - see this topic for all the gory details:

Hi,
That thread is for NAM. I am referring to AIDA, a similar product but it’s mod-ui native and meant to be less processor demanding. See the link at the top of the thread.

Cheers

Ah, I see, sorry for the confusion.

1 Like

The pre-compiled plugin does not work on Zynthian due to a dependancy on GLIBC_2.29. Zynthian is currently running on Debian 10 (Buster) which is quite old. (See other thread / issue tracker for discussion on moving to V11 Bullseye or (preferably) V12 Bookworm.) I think I tried to compile this before and failed for a similar reason (unmet dependency) but I don’t have a record of that so will try again.

I have now compiled and tested on a Zynthian. The good news is that it works! The UI shows on the remote desktop (if VNC is enabled) and the controls seem to operate as expected. The bad news is that it uses about 85% of available CPU (85% of each core) running on an overclocked (2GHz) Zynthian which is a lot! It doesn’t go down much when the effect is in bypass. I didn’t hear it xrun which is good so maybe it can just about be used by itself and I only used the provided default simulation so maybe a lighter model might also help but I am not convinced this is any more efficient than NAM.

2 Likes

Cool, thank you for taking the time to test this.

The results are a bit disappointing though, I was hoping it would perform better than that. It might just be an issue with Buster though, from what I understand, the device the people that make AIDA sell, which is called Dwarf, is roughly the same performance as a Pi4.

Thank you again for taking the time to compile an test.

1 Like

Yes, there is a performance boost with a 64-bit OS which we plan to move to. Also, Zynthian itself could improve its efficiency to reduce the CPU cycles and JACK process time that it occupies. We are working on that. From my limited testing today I would say that a RPi4 with little else running could cope with this plugin alone. It could probably run without xruns. It may also be able to run a few other lightweight plugins. Indeed, it is probably possible to run this plugin on a V5 Zynthian with little else going on. Also, there may be lighter simulations. The test I did had both cab and amp simulations although the plugin worryingly used almost 80% CPU when bypassed so maybe there is an issue that could be resolved upstream. I like the look of it and it would be nice if it worked. I am a guitarist so maybe I could be tempted to investigate further but I make no promises as I am very busy with other stuff…

1 Like

No worries. That sounds promising.

They are talking about RPi4s being back in stock in the second half of 2024. I’m hoping there is a new PI coming with increased performance as well. That would make this kind of projects more viable.

Cheers

1 Like

Hi, are you talking about NAM or AIDA-X? I need AIDA-X compiled for Zynthian. I tried to load the compiled version from Patchstorage but I get

Jul 11 15:52:21 zynthian jackd[452]: lilv_lib_open(): error: Failed to open library /zynthian/zynthian-plugins/lv2/rt-neural-generic.lv2/rt-neural-generic.so (/lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.29' not found (required by /zynthian/zynthian-plugins/lv2/rt-neural-generic.lv2/rt-neural-generic.so))

My description above is of AIDA-X. It can be compiled but barely works on Zynthian.

2 Likes

@riban can you point me to any info how to compile it again.

With now Oram on 64bit platform and running on rpi 5 this is going to be definitely usable nam.

Even on current mod dwarf hardware aida-x uses 70-80% cpu so this is not strange.

I would have to investigate from scratch again but may not have time. Maybe the precompiled version may work now.

No worries @riban. Thanks anyway.

I had a couple of minutes spare so I installed the stable 1.1.0 binary and it worked, similar to before - with high CPU usage on all cores of a RPi4. There is an almost constant high temperature indication in the Zynthian UI.

To install:

  • Download tar, e.g. wget https://github.com/AidaDSP/AIDA-X/releases/download/1.1.0/AIDA-X-1.1.0-linux-arm64.tar.xz
  • Unpack tar, e.g. tar xf AIDA-X-1.1.0-linux-arm64.tar.xz
  • Install LV2, e.g. cp -r AIDA-X-1.1.0/AIDA-X.lv2 /usr/lib/lv2/
  • Search for engines from webconf
  • Enable plugin in webconf (or UI)
  • Add audio chain with AIDA - fails - I had to try a few times, maybe with a reboot before Zynthian would start the plugin properly.

I don’t know why Zynthian’s detection of the LV2 fails the first couple of times - maybe there is still some background task catching up, but eventually it does work.

And now the good news… On my RPi5 it barely tickles the CPU! Now that is odd!!! RPi4 is at 80% on all 4 cores but RPi5 is below 1% on all cores. I don’t believe my eyes. There must be something wrong with my monitoring!!!

I only tested with the default, built-in model.

@riban this is amazing. Thanks.

Maybe some users could do some testing and give feedback so that we can decide whether to add it as an engine. We would need information like how useful it is. What its performance is like. What is the process for changing models and parameters, etc. At first glance it looks like it is only useful if you have access to the GUI to load models that you have manually transferred to the Pi. Maybe with some experience of the application we may find ways to integrate some / all of this… but I am not going to jump in to do that yet - too busy!!!

I will test it and download few free good amp profiles from Mod forum’s neural modelling section based on this review.

Also aida-x has a separate downloadable model pack that I will try too.

2 Likes