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

We have a winner here ahaha well said!

4 Likes

@madmaxwell I think you have to use this name in mk

AIDADSP_LV2

and not

AIDADSPLV2

otherwise we get “Requested plugin package has no bundles”.

With last changes I get

mkdir -p /home/user/mod-workdir/moddwarf/target/usr/lib/lv2/rt-neural-generic.lv2
cp -rL /home/user/mod-workdir/moddwarf/target/rt-neural-generic.lv2/* /home/user/mod-workdir/moddwarf/target/usr/lib/lv2/rt-neural-generic.lv2/
cp: cannot stat '/home/user/mod-workdir/moddwarf/target/rt-neural-generic.lv2/*': No such file or directory
make: *** [package/pkg-generic.mk:279: /home/user/mod-workdir/moddwarf/build/aidadsp-lv2-f9fcc4871101cb9bcfebb4ee607870914ad0d3b8/.stamp_target_installed] Error 1
2 Likes

Jan 01 00:04:52 moddwarf mod-jackd[321]: configuring for 48000Hz, period = 128 frames (2.7 ms), buffer = 2 periods
Jan 01 00:04:52 moddwarf mod-jackd[321]: ALSA: final selected sample format for capture: 32bit integer little-endian
Jan 01 00:04:52 moddwarf mod-jackd[321]: ALSA: use 2 periods for capture
Jan 01 00:04:52 moddwarf mod-jackd[321]: ALSA: MOD Devices 16bit playback hack active
Jan 01 00:04:52 moddwarf mod-jackd[321]: ALSA: final selected sample format for playback: 16bit little-endian
Jan 01 00:04:52 moddwarf mod-jackd[321]: ALSA: use 2 periods for playback
[root@moddwarf ~]#

No physical I/O audio connected to Dwarf, just the power supply plug and usb cable.

https://voca.ro/13Wm65rX3BHI

There’s a weird constant spike over 10k before the plugin, don’t know why the dwarf generates it. Need to investigate.

After the plugin you can see some aliasing.

It has a strange behavior when I change input level from Dwarf settings.

This is with input level at -8.5db

This is with input level at -8.0db

The weird thing is that when a X.5 value is selected, the level leds start blinking red like crazy while X.0 values do not cause blinking. I tried to change all settings but seems that none of them is related.

See the video here Easyupload.io - Upload files for free and transfer big files easily.

worth move this specific issue in another thread…can you try contact moddevices customer service? Maybe it’s a defective unit… @jon does it makes sense for you?

regarding the aliasing, I think a good idea could be to place a low pass filter with selectable 6k-12k in input to the amp sim. A 2nd order should fit the job. I was considering to embed one into the plugin…one of my heroes (Craig Anderton) is suggesting to do so for most amp sims. Also the input level to the amp sim (including my plugin) should be -14 to -12dB peak according to what I know.

I’ve edited the mk file can you try what’s happening now? Thx a lot!

I’m pretty sure it is not defective since it’s the first time I see this behavior. Rebooted few times and the noise disappeared indeed. :roll_eyes:

2 Likes

Package name is now ok but I get still

kdir -p /home/user/mod-workdir/moddwarf/target/usr/lib/lv2/rt-neural-generic.lv2
cp -rL /home/user/mod-workdir/moddwarf/target/rt-neural-generic.lv2/* /home/user/mod-workdir/moddwarf/target/usr/lib/lv2/rt-neural-generic.lv2/
cp: cannot stat '/home/user/mod-workdir/moddwarf/target/rt-neural-generic.lv2/*': No such file or directory
make: *** [package/pkg-generic.mk:279: /home/user/mod-workdir/moddwarf/build/aidadsp-lv2-f9fcc4871101cb9bcfebb4ee607870914ad0d3b8/.stamp_target_installed] Error 1

Less noisy but still noisy.

Noise is there even if input side is not connected (red circle)

MoonJazz.json Vocaroo | Online voice recorder

1 Like

Okay, that’s because now

define AIDADSP_LV2_INSTALL_TARGET_CMDS

is running instead of the cmake install command. We need an APPEND, I know how to do that in yocto but not in buildroot any clue?

Try looking at other plugins’ mk on mod github.

Okay, I remember now I fall into the very same issue while playing with gcc optimizations. To build the plugin I use GNU 9.3.0. I see you have GNU 7.5.0. Can you do a test? Tweak the mk file by hand and remove -DRTNEURAL_ENABLE_AARCH64=ON. This should makes the plugin to consume more cpu, but the noise should go away (if I am correct)

3 Likes
define AIDADSP_LV2_INSTALL_TARGET_CMDS
    mkdir -p $(TARGET_DIR)/usr/lib/lv2/rt-neural-generic.lv2
    cp -rL $(@D)/rt-neural-generic/* $(TARGET_DIR)/usr/lib/lv2/rt-neural-generic.lv2/
endef

Removing the -DRTNEURAL_ENABLE_AARCH64=ON works and the cpu usage it’s not increased that much. I’m going to test all the models. Later I will try to record some models from Cube Baby and Nux MG-30.

This has huge potential! Thanks a lot @madmaxwell!

3 Likes

Okay perfect! As a reference for cpu consumption MoonCrunch.json is 15.7% on my board, what cpu has Dwarf? I think we could patch the optimization in the CMake file for this specific build (and keep them in a patch in mod-plugin-builder). Can we talk more about models in the other thread @spunktsch @rogeriocouto @redcloud. If I can stop paying 10eur/month for Colab Pro I would be glad!

4 Likes

I’m sorry, the model was MoonJazz.json. CPU consumption with AIDA DSP alone in the board is around 28-30% (empty pedalboard is around 8-10%) at 128 frames. Dwarf uses a

RockChip PX30 CPU:

    CPU family: Cortex-A35
    Platform bit depth: 64 bit
    Cores Clock: 4 x (up to) 1.3 GHz

@madmaxwell it feels like some oversampling is missing.

1 Like

I’m really keen on trying it out on my dwarf. Can you provide just the compiled plugin that I can drop into the dwarf?

If its just 10€ / per month then we just pay it until its not needed anymore. I had not the time to look into running the script with azure but should be doable.

1 Like

Try unpacking it into /root/.lv2
Don’t know it it’s enough.

To change .json model, unless you want to patch GUI files, you have to edit this line on the bottom of rt-neural-generic.ttl file

state:state [
    <http://aidadsp.cc/plugins/aidadsp-bundle/rt-neural-generic#json> <models/SIMPLE-RNN/48kHz/LSTM-12/Moon/MoonJazz.json>
].

or make a symlink to models/SIMPLE-RNN/48kHz/LSTM-12/Moon/MoonJazz.json with the model you want to use, like

(preliminary steps)

cd /root/.lv2/rt-neural-generic.lv2/models/SIMPLE-RNN/48kHz/LSTM-12/Moon
mv MoonJazz.json MoonJazz.json.bak

to use a model

ln -sf <MODEL_FILE>.json MoonJazz.json

or 

ln -sf ../Vintage/<MODEL_FILE>.json MoonJazz.json

All currently available models

ln -sf MoonAcoustic.json MoonJazz.json
ln -sf MoonCrunch.json MoonJazz.json
ln -sf MoonJazz.json.bak MoonJazz.json
ln -sf MoonRiff.json MoonJazz.json
ln -sf ../Vintage/VintageEdgeOfBreakup.json MoonJazz.json
ln -sf ../Vintage/VintagePedalPlatform.json MoonJazz.json
ln -sf ../Vintage/VintageRockRythm.json MoonJazz.json
ln -sf ../Vintage/VintageRockSolo.json MoonJazz.json
ln -sf ../Vintage/VintageUnderWater.json MoonJazz.json

Every time you change a model you have to remove and add the pedal from pedalboard.

1 Like

thanks. I installed it with no problem and put it on a pedalboard with a cabsim.
I only get noise and hear my guitar a little bit. Testend with a few models.

EDIT: nevermind. A reboot got rid of the noise but it sound definitely somethings missing.

2 Likes

Thanks for the feedback. Actually we have to investigate what’s the root problem here. Samples from @madmaxwell sounds decent.

1 Like