67 comments

[ 2.8 ms ] story [ 142 ms ] thread
Are there similar projects already on github? Definitely these pedals have become dirt cheap to buy online.

https://coyopedal.playtaurus.com/

I would think the wasm build is a lot more interesting.

coyopedal is the original they open sourced a month ago, it was a pretty impressive technical achievement to get NAM A2-full running on that hardware.
I'm not aware of any of the really cheap pedals found online being capable of Full NAM A2.

The only ones I've seen run on sub-$1 chips that can only do NAM A2 Lite at best, generally by 'down-converting' NAM profiles to their own internal format. They are still very impressive but they aren't doing what this is. Yet.

what's the point about an amp emulator that you can't change the drive param?

I can't understand the NAM hype...

How often do you fiddle with the drive parameter (if it's not just boosting the input directly, which works fine with NAM too) mid song? Pretty much never, right? So a lot of folks don't need that control and if the drive level isn't great and that parameter isn't just boosting the input, use a different capture .
It’s the same with profiling generally. You get pregain, post eq and maybe some simulated stuff inside the amp. I’ve never spent time with a Kemper but my understanding is that the base tone is what it is.

Not a bad thing in my book. It’s an antidote to endless knob tweaking. But I suspect it leads to endless profile library grooming.

I have a Kemper. Yes, the base tone is what it is - you’ll usually download a profile like “Basket case” and it will sound roughly like the song if you have the right guitar. It’s heavily pre-styled and you can’t really make it sound that different - and why would you?
Nuno B said that he played EVH's guitar and rig, and he sounded like....nuno. Thanks to Rick Beato for the interview, and making music interesting again.
Interesting. I don't know enough about NAM as I haven't cared too much. I know of it from watching Glen Fricker, an online persona I enjoy but don't blindly follow by any means (I'm not even a metal musician, even though I played in a metal band for a few years).

I've never really moved on from the, uh, actual amplifier. What's the point of amplifying an extremely imperfect instrument if you aren't going to use an imperfect, defective, amplification device?

Obviously lots of people will disagree with me and will take my previous statement as some kind of law I'm trying to lay out. Do what you want. Pristine sounds can be converted in cold hard cash, I get it.

Uh, that's actually all I've got.

I don't disagree with you. I just have an equal wish to state my equally valid piece on the matter :

The majority of the world's guitar players - or hobbyists if you prefer - don't play in bands (yet, or maybe ever), and it's likely - given urban realities - that most don't have regular access to a space where amplifiers can be meaningfully used. After all, you don't buy an amplifier to run it at 2.

For a lot of those people, guitar playing has a different meaning than the rock-band meme of "Fender/Gibson/Ibanez/... & Marshall/Peavey/Mesa/Fender/..., jamming penta-blues on stage with the boys" that's persisted as the carbon-copy expected setup since before The Beatles and Hendrix. That's ok. Nothing wrong with either.

And the economics of real amplifiers aren't kind to guitar players. We all have a friend whose biggest lifetime purchases consist of a long line of Holy Grail Amplifiers, the amp to end all amps, sooooo much better than all the rest... once every 4 years for the past 40.

Let alone ones from poorer economies.

I think you can have it both ways these days: have an actual amplifier and not bother with an oversized power amp which has to be saturated or attenuated. There are a lot of good preamp tube pedals, which can be then fed into headphones, mac/pc, speakers with cab simulation or a simpler solid-state poweramp into guitar cab. For me personally, this tech is much cooler than all the flawed modellers. I still have real knobs and a real amp reacting.
> There are a lot of good preamp tube pedals, which can be then fed into headphones, mac/pc, speakers with cab simulation or a simpler solid-state poweramp into guitar cab.

That hybrid setup can deliver very satisfactory sound but for some guitarists, they also want real tube power amps because they behave differently than solid-state power amps.

The tube preamps give the distortion fuzz but the tube power amps also provide the extra dynamics that makes the whole response under the fingers more spongy, velvety, etc. Connecting the preamp outputs of a Mesa Boogie or Soldano into a solid-state amp has a different feel than tube power amps. The solid-state amp is definitely usable... but it's different.

That said, I sold all my tube amps and just use the stock digital emulations of guitar amps in Logic Pro.

They do, but this interplay between preamp and saturated poweramp is basically unachievable in home setup due to how loud it is. Then next suggestion is then to use an attenuator or a power soak, but they also color the sound. And all this besides the cab speakers behaving differently on low volume levels anyway.

The premps I am talking about is something like Tone King Imperial preamp pedal - it is a real preamp, is compact and sounds good with any output source. Tubes in those are not expensive and hold for 10k hours, compared to tubes in poweramp sections, which also often have to be biased.

I have my small digital modeler for travel, but that is all of the use cases I have for them. They are "Ok" - that is most praise I can give to them. "Bland and uninspiring" would be a more realistic description. I have not tried expensive modellers on the level of QC, but I try to build more of my life away from screens and IT, so I am not really interested.

It's no hype, but as long as we live in a "snapshot" world it is difficult to truly model some amp.

Even a very simple amp with 3 knobs that go from 0 to 10, would need like 11^3 = 1331 snapshots, if your parameter resolution is 1

For some amp like a JCM800, with the same resolution, you'd need 11^6 = almost 1.8 million snapshots, just for parameters like the front knobs. And then you have other things like tubes, bias, etc. Increase the resolution and number of parameters, and the number explodes.

Again, it is not a hype - but there are severe limitations if your goal is to make a digital twin of some amp. So just treat it as "snapshot of that exact tone", which you can then sculpt a bit with before the input and after the output.

(comment deleted)
This is interesting sloproject but in spite of all verbosity I still didn’t parse how do you interface with it when it’s running on intended hw rather than in browser.
It needs a USB audio interface. Looks like USB Audio Class 2 interface is the go. There are a couple specific models listed.

https://github.com/dashersw/coyopedal/blob/main/docs/USB_AUD...

I was wondering how they got any usable latency with esp32. External adc/dac card- okay

Has one been built ? Not clear from the docs

ESP32-S3 is a great USB host. I have a custom version where I use a Daisy Seed 3 as the ADC/DAC (it uses I2S for audio, not USB) that I built with around 4ms total latency. If you turn off the amp model (which is pointless, but) it's around 2.6ms. I also patched the iRig HD X firmware so its analog latency is around 1.2ms, practically achieving the same performance as the custom Daisy Seed 3 interface.
Hmmm. I wonder if it will work with the USB-C guitar cable I have here…
It's quite a lot of fun to make guitar like noises and adjust the various parameters...

Air Guitar players unite!!!!

This devkit is awesome. I ported my game engine to it (which was already running on ESP32 so it was relatively easy) and actually use it as my everyday watch. Boots a 3D scene authored in Unity in about one second from power off. BMS keeps power to the RTC so it works as an useful clock, planning to add more features later.

Battery lasts for weeks with this cold boot mode too

This devkit does look fun. I had a few small personal projects I though might be worth writing for Android Wear OS, but Google isn't worth the hassle, and this little ESP32 Watch might be less friction.
Have a link? I made a pokeball for my son on the ESP32 1.75c. Top button is used to cycle between various apps (jokes, tic-tac-toe, the memory game Simon, pokemon gifs, and a space game using the accelerometer). Bottom to shut down the device. Then each makes different use of swipe and tap gestures as needed.

Curious what others have done.

Air-gapping storage SSD drives
I'm totally loving amp modelling and convolution reverb using PiPedal https://rerdavies.github.io/pipedal/
Here is my i5 NUC touchscreen audio cyberdeck running DietPi + PiPedal.

https://bsky.app/profile/spduchamp.bsky.social/post/3mvdt5p7...

This thing is awesome and I'm never wasting money another guitar pedal again.

> I'm never wasting money another guitar pedal again

I've heard that one before. This one is the last pedal, I swear :-)

What is the DAC resolution and sample rate? Delay/jitter? Noise?

What's the cost of something like this? It's just the NUC and the USB Audio Interface? When I play through my Komplete Audio interface and my laptop I (think?) I notice a delay. How would that compare to an off-the-shelf multi-effect modeller? In cost and features/performance.

These have always interested me but not enough to actually do something ;)

DAC resolution is irrelevant if your analog electronics produce noise in the lowest N bits. This is why I advice against using this as a primary comparison metric between audio interfaces.

Any audio interface with 24 bits has a digital dynamic range of 144 dB. Bad interfaces will have a noise floor of -80 dBm, the theoretical best value you can reach (at room temperature, for an audio band of 20kHz¹) is -131 dBm, interfaces for more than a 1000 Euros can reach around -127.

And this all assumes ideally set gain levels. Since this is rarely always the case in the real world 32 bit interfaces can still make sense, IF you have analog electronics that can deal with the signals to give you some extra headroom on top. But I'd still rather get a 24 bit interface with stellar noise figures, than a mediocre one with 32.

Aside from the proper input Impedance (High Z), the noise figures are probably the single most important thing when selecting a audio interface for guitar applications, especially if you plan to add a ton of gain in software. Of course drivers, latency etc. also need to work, but I have found that even cheap interfaces do a decent job at that nowadays.

¹: note that with bigger bandwidth that number gets worse, so if you record at 192kHz and you don't have analog filters before that cut the frequency band down to audible range you pay for that (proven many times to be inaudible) bandwidth with worse noise figures

The NUC was used and just cost me a replacement fan. USB audio interface was cheap from online classified. The touchscreen was just over a $100 on AliExpress, plus a bunch of cables of various sizes and angles to connect it all.

I've done the bare minimum to get this all going and haven't done any optimizations. Sampling at 48kHz. Load is about 5-6% even with a complex effects chain. I don't notice any latency, but I haven't measured it. Latency isn't an issue for the experimental instrument I play. The electroduochord.

Interesting, also sounds great. Any chances it could run on other embedded boards than the Rpi, or it uses some low level hardware stuff not found elsewhere? Also would be nice to be able to operate it from real knobs and buttons.
Not sure about other boards. I image it could. It specifically is supported on RPi5 (and I think 4) but also Ubuntu on PC. I opted for DietPi to keep it simple and lean.

MIDI controller for mapping to knobs.

What I like is being able to type in digits so I can set very specific modulation rates that are in sync with other parts of the music.

How is the latency? Whenever there's a FPGA driven pedal, like the Hatsune Miku one, everyone always complains about the delay it adds.
Depending on your guitar interface, it's around 4-10ms. Some interfaces have really unnecessary buffers, accounting for very old and low power devices. iRig HD X has an unused buffer of 4ms in its firmware that I patched. As atoav said, you don't really feel it, especially if you play on headphones, it's like sitting 1 meter away from the speaker.
I wonder why they chose to use the tiny watch-size amoled board for this. Wouldn't a multi effect UX be better with one of the 4-7" touchscreen boards?

Also: Am i reading it right that you can get an ESP32 with a 7" touch screen for like $30?

The larger screens like the CYD are quite awful. Blue tinge, bad viewing angles, low brightness and slow touch response.
It's the author here. AMOLED is beautiful to look at. And you can stick this device on your guitar. Having said that, the same code can be compiled to any ESP32-S3, even headless boards, to use in a custom pedal (like the ones with Daisy Seed 3). CoyoPedal uses Gea Stack that allows us to target any device, including macOS and even the web, https://coyopedal.playtaurus.com has the exact same DSP and UI code built for WebAssembly.
ESP32 should not have enough compute to run A2-full. Does this actually run A2-lite? The github slop includes mentions of SlimmableContainer?
That's literally the title of my blog post at https://playtaurus.com/blog/running-nam-a2-full-natively-on-... but no, it runs A2-full, because I wrote a custom kernel for it in assembly.

S3 doesn't have enough floating point processing power, so what I do is to split the model in two, run the model in series, and represent floating point values as block floating point, essentially compressing the floating point representations.

The null test peak sits at -60dB in the worst case, in 193 different NAM profiles I tested, which is basically inaudible. You can listen to the different profiles here https://playtaurus.com/blog/running-nam-a2-full-natively-on-... and listen to the difference between A2-full and A2-lite, vs A2-full and my approach.

One small clarification, this approach isn't really a "model conversion". Current pedals on the market quantify the entire model, so you are essentially running a separate model. Here I use the same weights, but only change the floating point representation. That's why the difference to A2-Full is basically inaudible. Mooer's NAM conversion, for example, has a null test peak at -8dB. They also need to do this because of the 44.1kHz conversion, so it's incomparable.
Really don't understand why, when you use AI, don't code natively but use a transpiled TypeScript runtime (GeaStack)
Because I wrote Gea Stack :) and CoyoPedal also serves the purpose of a demo app for Gea. The DSP is native code, most of it is in assembly. The UI is portable for any device. One small correction, Gea doesn't have a TypeScript runtime, it's all compiled to C++ ahead of time, so effectively all the code that runs on the device is native.
Pretty neat getting decent audio DSP out of an ESP32. Bet that AMOLED screen makes tweaking parameters a breeze compared to knob-only pedals.
It's really beautiful to touch!
Cool to see the ESP32-S3-Touch-AMOLED used for audio processing. Been wanting to build something similar for my bass pedalboard.
I had assumed that the current rash of these app-configurable devices on e.g. Amazon (Sonicake Pocket Master, Soran Tiny Stomp, Lekato ME-05, M-VAVE Pocket Amp, Strich Pipe Tones etc.), with the Sonicake the progenitor as I understand it, were all based on some sort of hardware platform quite close to one of these, because they all appear to be running one OEM vendor’s software, but this is interesting indeed because of NAM 2.0.

I am in the market for one of these, perhaps I should build this for fun.

I saw a similar perhaps cooler project before - which tbh I don't fully understand but I saved for when/if I buy an electric guitar.

https://github.com/GuitarML/NeuralPi

I guess it's a neural network that you can play any guitar tone to and it'll emulate the settings and processing stack?

When it comes to neural amp modelling, they pretty much all do the same thing: estimate the amp's input/output behaviour by sending a known test signal through the input and recording the response at the output. The model is then trained to reproduce that relationship. Depending on the system, the test signal may contain sweeps, noise-like signals, impulses, etc.

Back in the olden days, you'd emulate guitar cabinets using multiband EQs and filters, either analog or digital, sculpting the frequency response until it sounded close enough to the real deal. Then people started measuring the cabinet's actual response directly: send a known signal through it, record the result, and derive an impulse response. That IR could then be used with convolution to reproduce the cabinet's filtering accurately. Neural networks came later, mainly to model the nonlinear behaviour of amps and pedals.

That's basically the 15+ year progress we've had in the guitar world.

And here I am still using my Pod 1.0 lol
How is the latency?
I’d like this as an open source audio interface that I can flash firmware on. For example the Apollo Twin just keeps charging for plugin upgrades after you buy the hardware.
I'm building one right now :) How much would you be comfortable paying for such a device, given it has a stereo jack input, a stereo jack output, a headphone jack, and a USB-C connection?
I can go up to 500$ assuming it lets me plug in an xlr microphone with 48v phantom power.

700$ would be a stretch, but doable. I need the software ready day 1.

I do have a company, yes. Feel free to contact me at contact@playtaurus.com
Bear in mind that the world is getting ever fuller with hobbyist hardware designers that are very good at paring expensive devices back to schematic and component basics, and producing open-source versions to encompass any useful OSS functionality, which they share freely.

Championing free systems and simultaneously having an end-goal of commercial success is a tight line to tread.