Settings

Theme

Guitar amp and effects pedal built on the Waveshare ESP32-S3-Touch-AMOLED-2.06

github.com

139 points by arbayi · 71 comments

Reader

18 threads
boguscoder

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.

  • ornateelephant

    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...

    • dofm

      Hmmm. I wonder if it will work with the USB-C guitar cable I have here…

    • quinnjh

      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

      • dashersw

        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.

_spduchamp

I'm totally loving amp modelling and convolution reverb using PiPedal https://rerdavies.github.io/pipedal/

999900000999

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.

  • dashersw

    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?

    • 999900000999

      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.

      Edit: Do you have an established company? I’d love to work with you on this if possible!

dofm

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 at least somewhat quite close to this sort of profile, and 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.

  • dashersw

    They all use underpowered DSP chips from yesteryear. ESP32 is a great platform, and P4 is doing even better. I have a prototype running 2 A2-full profiles, along with 10 other effect blocks, on a P4.

    I believe we are starting the age of personalized hardware, and Waveshare & co are doing a great job at bringing affordable, multi-purpose devices our way.

    Would love to hear your experiences if you try out this build.

    • dofm

      Hi! Great project.

      OK so I have a little J&D USB-C guitar cable thing:

      https://www.amazon.co.uk/dp/B0CRR6G355

      Any idea if this will work? (Notably working on my Mac but not my second generation iPad Pro, which sees it but is confused)

      • jimijazz

        From what I read you need an external interface if you want to use the board. The cable is just passing the audio signal through USB if I'm not mistaken (i.e. no Analog-to-digital conversion happening there--mac doing it for you I guess)

        • dofm

          Not clear to me at all, but I just did a bit of a google to follow up on a thought — do you mean your hypothesis is that it's using the USB-C-specific Audio Accessory mode?

          I was not aware that the Mac supported Audio Accessory mode. And the blurb for these cables talks about a sampling rate, which suggests there's a DAC in the USB-C connector end.

          (Works well on the Mac, anyway — it is too much fun simply plugging my lap steel into my Mac in a way that would have been complete fantasy when I first started playing electric guitars.)

          ETA: OK so it's always time to play guitar, and I plugged it into the Mac, which reports:

            Product ID: 0x126e
            Vendor ID: 0x3302
            Version: 0.01
            Serial Number: 3302126E250214
            Speed: Up to 12 Mb/s
            Manufacturer: TTGK Technology
            Location ID: 0x14400000 / 1
            Current Available (mA): 500
            Current Required (mA): 100
            Extra Operating Current (mA): 0
          
          
          Which suggests it's one of these DAC-in-connector boards:

          https://www.szttgk.com/en/product/conversionaudiomodule.html

          It appears as an ordinary USB Audio device in the Sound panel. My likely ignorant surmise as to why it doesn't work on the iPad is that it also presents a (disconnected) output device and this is confusing the iPad. So perhaps it kind of is working but I can never hear it…

      • dashersw

        Thank you! I am surprised it doesn't work with iPad Pro. They don't ship to Germany, otherwise I'd buy one and try. If you have an ESP32-S3 device, I can help you with it if it doesn't work.

instagraham

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?

  • TrackerFF

    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.

r2ob

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

I can't understand the NAM hype...

  • TrackerFF

    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.

  • Blackthorn

    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 .

  • shermantanktop

    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.

    • manmal

      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?

      • Ylpertnodi

        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.

  • ornateelephant

    Might have misunderstood (not really a guitar guru), but long tapping/clicking on the drive block allows you to adjust drive, tone and level values.

    https://github.com/dashersw/coyopedal#using-the-pedal

  • sodapopcan

    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.

    • crtified

      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.

      • lycopodiopsida

        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.

        • jasode

          > 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. I got rid of almost all the analog gear that was heavy and required maintenance (e.g. new replacement tubes cost $200) because I didn't want it weighing me down as I got older.

          • lycopodiopsida

            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.

      • sirtaj

        And both the reactivity and tone of modelers is so good now that even trained ears can have trouble distinguishing between them. In the vast majority of cases it's not a downgrade from a real amp.

        Here in India we have a little explosion of youtube-trained bedroom guitarists with outstanding chops, playing live to small but dedicated audiences. Almost none of them would have been able to afford a "proper" gig amp and cab, let alone a place to practice with them.

quietlathe

Pretty neat getting decent audio DSP out of an ESP32. Bet that AMOLED screen makes tweaking parameters a breeze compared to knob-only pedals.

alkonaut

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?

  • dashersw

    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.

  • ricardobeat

    The larger screens like the CYD are quite awful. Blue tinge, bad viewing angles, low brightness and slow touch response.

salt_pine

An ESP32-S3 for an amp? That's really pushing the limits of the chip. Curious to hear how they handled the latency.

ovin_dal

Cool to see the ESP32-S3-Touch-AMOLED used for audio processing. Been wanting to build something similar for my bass pedalboard.

kreelman

It's quite a lot of fun to make guitar like noises and adjust the various parameters...

Air Guitar players unite!!!!

weberer

How is the latency? Whenever there's a FPGA driven pedal, like the Hatsune Miku one, everyone always complains about the delay it adds.

  • dashersw

    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.

  • atoav

    IMO this is a total non-issue. I have never had a digital pedal that had any latency issue. The only latency issues I ever had was when I used a shitty 50 bucks audio interface on an inadequate PC ca 2006.

    And I am a very rhythmically educated guitarist/bassist and a DSP programmer, that means I am likely more aware of this than the average person.

    Also: you know what else has latency? Sound. 1 millisecond per 33 cm. That means from striking a string on an acoustic guitar till hearing it you also got latency, first it takes a moment for the string to vibrate, then the sound needs to travel to your ears. In big orchestras that latency is a thing great musicians account for.

    And every halfway decent musician can do this by just hitting the note slightly early to compensate.

    Latency is IMO the biggest issue with vocalists and speakers, because the delayed signal mixes with the original signal you hear in your head, depending on the latency this can either lead to weird comb filtering or irritating doubling. But if your instrument is only heard through the electric chain a lot is acceptable before it starts to get really unusuable. And modern DSPs don't really have latency issues if used correctly.

snarfy

How is the latency?

sublinear

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.

maxlin

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

  • lefstathiou

    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.

  • clumsysmurf

    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.

dncornholio

Really don't understand why, when you use AI, don't code natively but use a transpiled TypeScript runtime (GeaStack)

  • dashersw

    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.

eu1686

Air-gapping storage SSD drives

nikanj

ESP32 should not have enough compute to run A2-full. Does this actually run A2-lite? The github slop includes mentions of SlimmableContainer?

  • dashersw

    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.

    • dashersw

      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.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection