This looks super cool.
Has anyone seen this? Looks pretty cool and a great validation for the Daisy: Running NAM on Embedded Hardware: What We Learned · TONE3000
This looks super cool.
Has anyone seen this? Looks pretty cool and a great validation for the Daisy: Running NAM on Embedded Hardware: What We Learned · TONE3000
Thanks for the link, I did not see it yet, I also didn’t see the slimmable stuff, neat
@keyth72 added NAM to My Daisy Guitar Pedal Designs on GitHub a while back and I have been loving it, it sounds very good to my ears.
I will dig into this and see if there are any big wins/optimizations I can make using some of these results/library changes
@kidproquo Yeah running neural nets on microcontrollers is a really interesting problem, it sounds like they were able to run nano size NAM models by trading the tan activation for the computationally cheaper relu. In the DaisySeedProjects implementation I use a different library from the official NamCore called RTNeural, since I was familiar with it from my GuitarML stuff. Using that I’m still using tanh, but with a custom size smaller than nano that I unofficially call “pico”. I was able to get very good accuracy on most models using that.
There’s also another library called NeuralAudio the makes some optimizations, and using that I was able to run normal nano models on the Daisy seed: GitHub - mikeoliphant/NeuralAudio: C++ library for neural amp modeler and other audio network models
I haven’t looked into the slimmable models, but that sounds very interesting for embedded. The test models mentioned in that tone3000 article are likely compatible to what’s in the DaisySeedProjects in terms of accuracy, but I haven’t tried NAM with the relu activation so I’m not sure how it performs.
I think the binary models it mentions are similar to how I did it, where the model weights are extracted and compiled down to binary. Although if they can load custom ones at runtime that would be cool, at the moment I’ve only done pre compiled models built into the c code in header files.
Digging a little deeper, there’s another article linked from that first one with a ton of benchmark tests done, they put a lot of work into this: João Felipe Santos | Bringing NAM A2 to Embedded Hardware
@keyth72 yes I am well aware of your “Pico” profiles and RTNeural based implementation for NAM - awesome work. My pedal’s code is based on bkshepherd’s project, which has your contributions for NAM. Thank you ![]()
I tried running the linked nam-pedal code on my pedal, but just couldn’t - it crashes in the audio callback. Will continue exploring/digging. Let’s see if anyone else has better luck.
My main goal is to enable easy use of model weights from Tone3000 via OTA downloads - so getting nano or nano-relu models dynamically loaded during runtime would be cool. I have used NeuralAudio for my pi-based NAM project. Didn’t realize I could try it on the Daisy. Do you have any sample code to share?
Oh awesome, and yes, haven’t put the code up on github yet but the conversation I had with Mike about integrating NeuralAudio on the Daisy can be found here along with some code examples: