[HN Gopher] A low latency guitar effects processor suitable for ... ___________________________________________________________________ A low latency guitar effects processor suitable for running on a Raspberry Pi Author : Audiophilip Score : 188 points Date : 2023-03-07 15:03 UTC (7 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | woudsma wrote: | Very cool, I've ordered a Raspberry Pi touchscreen this weekend | and it should arrive today. I want to make a MIDI sequencer with | it, or at least play with the idea. I hope my old Raspberry Pi | can work with MIDI (over USB) without too much latency.. | mr_sturd wrote: | I've seen it done with the Pico, where it acts as a midi device | when plugged in to a host machine; not so sure about the main | boards. | zamnos wrote: | The pi zero hardware supports gadget mode and from there it's | a bit more work to get it to enumerate as a midi device. The | pi 4 supports this via the usb-c port. | | https://raspberrypi.stackexchange.com/questions/71613/how- | to... | Diapason wrote: | https://mod.audio/ (I'm not affiliated - just a long time | follower) | chaosprint wrote: | have to compare with Bela when it comes to latency | sklarsa wrote: | > Note that since the server program exposes an HTTP server you | can actually navigate to the IP address of your PI from any | device connected to the same wifi and control your pedal chain | from there. | | That's a killer feature for me, hiding at the end of the README. | I have a Fractal Audio FM3[0] at home, and the only way I edit my | patches is using their editing software over a USB connection to | the device. Adding the ability to program (and even control) my | patches live over any wifi-enabled device is even cooler! | | [0] - https://www.fractalaudio.com/fm3/ | obituary_latte wrote: | Always hear about the Fractal Axe FXIII--seems like the gold | standard in guitar FX. Didn't realize they had smaller, non- | rack-mount form factor devices. Very interested in trying out | the FM3 now that you brought it to my attention. Thanks!! | tecleandor wrote: | The Mod Dwarf (and its predecessors) also allows web control | and it supports standard LV2 plugins :) | | https://mod.audio/dwarf/ | | https://wiki.mod.audio/wiki/LV2 | Blackthorn wrote: | The first site is remarkably brief about its actual | capabilities. Is there somewhere with more information | about it? | vondur wrote: | I think the hip new guitar effects/sim is the Quad Cortex | from Neural DSP. I've seen Kiko from Megadeth uses it for his | live shows. | bjelkeman-again wrote: | I think the AxeFx has more virtual knobs, but the QC is | easier to use, and has Kemper-like sound capture tech. | mr_sturd wrote: | Don't go leaving it exposed if you connect it up to the venue's | WiFi, if you're playing live. ;) | worik wrote: | Don't run wifi and real-time software at the same time. | zamnos wrote: | What wireless technology would you recommend instead then? | [deleted] | darkwraithcov wrote: | The core audio driver does a pretty good job with this. | mr_sturd wrote: | The only signals going over WiFi here would be controls for | the virtual pedals. | jcelerier wrote: | Just the beacons you get from other routers around can be | enough to create disturbances | giantg2 wrote: | Audience participation show. | 867-5309 wrote: | _DefCon Big Band_ | Our_Benefactors wrote: | I had sketched an idea for a web ui that would talk to a | VCV instance, outputting signals to a real eurorack device | with an expert sleepers module... need to keep hacking on | that. | smoldesu wrote: | That's awesome. I wonder if you could wire up a Raspberry | Pi's GPIO to CV? Someone smarter than me has probably | tried this... | nightowl_games wrote: | Somebody should make a device that plugs into a fractal axe FX | and hijacks the USB connection and exposes a web interface. Now | that'd be cool! | zamnos wrote: | There are a bunch of USB over IP boxes you can buy, so it | depends on the m what you're looking for, port-wise. That | plus a wifi router gets you what you're looking for. | | Eg https://www.digi.com/products/networking/infrastructure- | mana... | 1024core wrote: | I'm guessing the harder part would be actually finding a Pi for | this? | jamesgill wrote: | As an amateur musician, three things stand out: | | 1. I'd have a hard time seeing that small screen onstage, and my | big foot would likely mash the wrong effects button. Others might | find it easier. | | 2. There are tons of good, cheap effects boxes out there, and | easy to find used. I like Pi boxes, but this seems like a | homebrew replication of what's on the market. | | 3. All good boxes are low-latency, in my experience. It's a | fundamental thing I think most players need. | AlecSchueler wrote: | What are they? Am I missing a joke here? | Min0taur wrote: | I agree with both of these observations. | m12k wrote: | Very nice! A screenshot or two of the web UI would be a good | addition to the readme | qqqwwweeerrr wrote: | This is awesome. I'd be really interested to find out if a | Raspberry Pi can run an open source amp modeler like NAM | (https://github.com/sdatkinson/neural-amp-modeler). | woudsma wrote: | I'm not sure if the GPU is powerful enough on the RPi, maybe | something like a Jetson Nano could handle running ML models | better. | rtatay wrote: | This is really cool. I may have missed it (am on my phone and | just skimmed the readme) but what effects are available and can | you build your own? | tecleandor wrote: | Seems like there are already a couple dozen pedals defined, and | you can define your own using the Q framework... | | https://github.com/Quinny/GuitarEffects/tree/master/pedals | metmac wrote: | While not a guitar effects box another project that does low | latency audio things with an RPI at it's core: | https://monome.org/docs/norns/ | | Open source version: https://monome.org/docs/norns/shield/ | rotexo wrote: | Also Pisound (https://blokas.io/pisound/) which has the benefit | of built-in din MIDI, but without the active community sharing | software (you kind of have to build everything yourself with PD | or SuperCollider). Some people have gotten Norns running on | pisound, but I could never get it to work. | worik wrote: | I do not know about Noms, but I have a Pisound | | It has audio in so needs no external usb sound hardware. | | It also has a programmable button. A simple idea but very | useful | jnovek wrote: | This is a neat little box, but pre-soldered ones seem to be | only available on the used market. There are bare PCBs out | there, but I'm not very confident with SMD parts. | | This is the thing that bums me out with DIY audio: people come | up with extraordinary designs, do a limited run and then never | (or rarely) make any more. | dhon_ wrote: | Surface mount soldering is not too hard. I can't view the BoM | on mobile, but from the photos the soldering looks achievable | for someone with experience soldering through hole. Take a | look at the document here https://github.com/monome/norns- | shield/tree/main/bom - if it's mostly 0805 sized components | you should be fine. Even a few 0603 would be okay if you have | good vision and a steady hand. | rvense wrote: | Norns is made and supported by Monome, and it is very much | supposed to be a Product That You Can Buy... except | unfortunately it's based on the Compute Module 3, which has | been unavailable for a good while. They have been available | in small batches occasionally over the last year, and | hopefully will be more available soon. | DeathArrow wrote: | I thought is hard to have low latency audio in Linux with stuff | like PulseAudio. | tcrenshaw wrote: | Nah, low latency audio is absolutely possible, but not | necessarily using pulse audio. Using either Jack for the low | latency stuff has been the advice for years, but with the | advent of pipewire you can mix and match without too much | difficulty. | | A quick skim didn't turn up what audio backend this project is | using, but I'm using patchbox with modep on my Pi4 as a bass | pedal board and it's pretty much flawless low latency. I do | need to add a fan to my pi since it's mounted underneath a | pedal board and doesn't get quite enough air though. | weberer wrote: | Sep 2 of the build instructions says it requires RtAudio. | jcelerier wrote: | RtAudio is just an API wrapper which calls JACK, Alsa, etc | behind the scenes and does not add latency, just the | overhead of a couple c++ method calls | tsegratis wrote: | Wow, what fx are you running -- and does that or could that | include convoluted reverb? | | (Convoluted reverb is utterly awesome but more processor | intensive than almost anything else) | | Edit: and sorry, to be helpful, by low latency, could you | meantion how many ms that is -- because while I'm very happy | for you, and really interested, 15ms is very different to say | 5ms or lower | tsegratis wrote: | Possible with jackd etc | | I switched to BSD and got much better latency on the same | hardware | | But I think that was the alsa -> BSD oss driver swap, which is | possible on linux too. I had just never tried it, since I | assumed linux was best | | (I'm only sharing this cus i think its interesting, and may | help you get good latency) | tsegratis wrote: | I'm enjoying the downvotes :) | | Was anything I said wrong? | | Seriously, I've spent a long time fixing up low latency audio | | jackd + OSS on whatever OS u like is not bad advice fyi | Shared404 wrote: | I honestly have no idea. | | Personally I'm very happy to see that info as I do use both | Linux and *BSD and wouldn't have ever tried setting up BSD | for audio until now. | giva wrote: | BSD has in-kernel audio mixing, IIRC. | officeplant wrote: | I've begun tinkering with GhostBSD lately just to learn more | about BSD. Pleasantly surprised to find a lot of familiar | linux audio tools were ported or can be easily made to work. | Also happy that my ancient Presonus AudioboxUSB works fine in | BSD. So much so that I get less random audio glitches than I | do under windows 10. | tecleandor wrote: | The RTAudio tools this is based on allows different backends to | be configured. I guess you could use Alsa or Jack if you | want... | | https://github.com/thestk/rtaudio/blob/master/install.txt | liotier wrote: | Jack offers the low latency necessary for music production. | | Pipewire is supposed to offer low latency as well - at least | lower than Pulseaudio, but I don't know how much. | silveira wrote: | Any samples or videos of this working? I would like to have a | feeling of the latency and how the effects sound. | tecleandor wrote: | There's a two years old small video on reddit... | | https://www.reddit.com/r/raspberry_pi/comments/p0jkb3/guitar... | dontbesquare wrote: | This looks very promising. I'm interested in how to make effects | and learn more about it. What a cool project! | honkycat wrote: | I've had some amazing ( horrible ) adventures in low latency | music stuff lately. It has made me think about going back to the | hardware side of music production. Previously I was an ableton- | only dude. | | All of the vst plugins are CPU bound and even though i have a top | of the line i7 and 32 gigs of ram, my computer slows to a crawl | when editing even moderate sized songs. | | Specifically, there is an nvidia bug that introduces latency to | real time audio, making guitar and other live performance | unplayable. | | It really sucks! At least it has finally been ack'd (Increase in | DPC latency observed in Latencymon [3952556]): | https://us.download.nvidia.com/Windows/531.18/531.18-win11-w... | | This has been a problem for YEARS. Hopefully they will finally | fix it. | jzombie wrote: | I don't know how this compares to your i7, but I dabble around | using Pro Tools w/ about 15 or 20 tracks at a time with several | effects running in unison, on an M1 Pro processor w/ only 16 | gigs RAM, and I typically stay under 20% usage according to | Activity Monitor. | | I mostly play guitar and don't notice the latency in most | effect chains that I use. | honkycat wrote: | Yeah it should perform way better than it does currently. | There is a driver bug for Nvidia cards that causes it to run | slowly and poorly. | | It is extremely frustrating. | shtoyer wrote: | [dead] | digitallyfree wrote: | I'm still patiently waiting for future digital mixing consoles to | do all processing in software on inexpensive x86 or ARM | processors. Currently due to latency and reliability requirements | all DSP work is done on dedicated chips or FPGA which brings up | the BOM and engineering cost. They often have a small ARM/Linux | module which is used for the displays and network control. | | The CPU tech is here today, and modern general purpose processors | do a good job of handling low-latency audio. Someone just needs | to put all that together in a unified and stable package... | bob1029 wrote: | Modern CPUs are surprisingly good at low-latency _video_ as | well. SIMD on something like a Zen4 core is a really big deal | if used properly. | | I've got some prototypes in C# that can draw a 1080p bitmap and | encode to JPEG in under 10ms. Using single threading, socket | mux servers and aggressive multimedia timers means my network | delay is usually right at 1ms. | | I feel like if you are just worried about audio, there is | definitely enough bandwidth here to do what you need to per | unit time. | bluGill wrote: | While video needs more CPU power, it can tolerate higher | latency than sound. | huehehue wrote: | Not exactly what you're describing, but I've been running my | band directly into Logic Pro on an M1 (both for recording, and | live shows). Dry signals go through amp sims and effects | processors, and then route to both a FOH mix and an in-ear mix | all on the laptop. | | Wish I had seen the OP's project months ago, but one bonus of | the setup I describe is the ability to swap effects after the | fact (by virtue of having the dry signal) and the ability to | automate effects (so I can engage distortion etc as soon as we | hit measure XYZ instead of having to click a pedal) | digitallyfree wrote: | I've done live mixing with a laptop, DAW, and interface in | the past and it does work but it's not something I would be | comfortable with for an important show. Even with something | like SAC (which is specifically designed for the task) the | chance of hangs, crashes, etc. go up as at the end of the day | it's just a program running on top of your OS. The setup and | config also gets a bit hacky and you'll be the only one able | to use it. As far as I know the only specialized system that | does this is the Waves LV1 which has a dedicated OS running | on top of x86 hardware for processing. While I haven't tried | it apparently it works quite well. | | However I was more thinking of mixers like the QSC | Touchmix/X32/etc. where the DSP probably eats up quite a bit | of the unit cost, and how the price could be significantly | brought down if the innards merely contained analog I/O and | converters all tying into a powerful SoC. | TylerE wrote: | Modern CPUs are great if your watt (and thus thermal) profile | is unlimited. | | Not so great when they aren't. | digitallyfree wrote: | Modern consoles are plugged into the wall and are large | enough for active cooling. For a 1U rack unit they can be | cooled with small server fans; noise is not an issue as the | amp fans are just as loud and the music will drown them all | out anyways. | londons_explore wrote: | Most processing of audio isn't CPU performance limited... For | most realtime audio mixing, it doesn't matter if you use 1 | watt or 10 watts for your CPU - the big speakers will easily | be drawing far more, and the performers time will be costing | far more than the electric bill anyway. | strangetortoise wrote: | Does this form a problem for digital mixing consoles? As far | as I know, these already have fairly beefy fans for heat | exhaust, so I don't know if they couldn't just add more | airflow? | jojobas wrote: | What is he using for actual audio interface? RPi has something | awful onboard and none of the pictures show anything external. | USB would add 0.25ms latency just for being USB, best case. | WorkerBee28474 wrote: | From my understanding the Line 6 Helix uses two 450MHz SHARC | processors, ADSP-21469. Other effect/amp modelers use more or | newer of the same family[0]. | | Can anyone comment about the relative processing power of a RPi | vs the market solutions? Is the RPi theoretically good enough | that a pedalboard could be completely modelled? | | [0] Interestingly, it sounds like SHARC chips were designed to be | low cost processors for single use applications in guided | artillery shells. | unwind wrote: | According to Analog's product page [1] for the ADSP-21469, it | delivers 2.7 GFLOPS at 450 MHz. | | And Wikipedia's page of all the RPi models says that the latest | (4B) manages 8 GFLOPS at around 1.8 GHz. | | If that means that the answer to your question is "yes" or "no" | is unfortunately a lot harder to Google and/or figure out. I | would assume that the SHARC-based devices run on the metal, | whereas most applications for the Raspberry Pi run under Linux, | for instance. | | [1]: | https://www.analog.com/en/products/adsp-21469.html#product-o... | | [2]: | https://en.wikipedia.org/wiki/Raspberry_Pi#Simplified_Model_... | | Edit: grammarish. | bluGill wrote: | Generally this type of work is done on DSPs and FPGAs, because | they can generally get much lower latency than a CPU. While | this can get latency low enough that nobody will notice, it is | still there, and there isn't room for anything else in your | signal chain to also have latency and still be unnoticed. | | They will still have a CPU on devices like this, but all it | does is run the UI, the sound processing is not done on a CPU. | Min0taur wrote: | This is a wonderful project, thank you for sharing your process! | I'm excited to try making a cute/custom FX brain with this. | kbr2000 wrote: | Well done! | | For those interested: a predecessor called the "Jesusonic" was | once made by Justin Frankel (of Winamp and REAPER fame): | https://www.cockos.com/jsfx/ | https://wiki.cockos.com/wiki/index.php/Jesusonic_Documentati... | | :) | snarfy wrote: | > A Low Latency Guitar Effects Processor | | What's the latency? I can't find numbers anywhere. | worik wrote: | Exactly | | What is the expected latency of those cheap usb devices? | | I had one that was unusable live. Noticeable latency. Have they | gotten better? | djbusby wrote: | IME it MUST be under 10ms | LgWoodenBadger wrote: | IME, if you can't find an important quantity like that | front¢er in an advertisement, then its value is going to be | terrible. | | Applies to many things related to an advertised product. Things | like price, quantity, material, country of origin, standards | met, certifications, scores, etc. | hendry wrote: | Surprised that a (local) Web call can be considered low latency. | Isn't this why people use grpc etc? | ElijahLynn wrote: | There is also Pisound for low-latency guitar effect processor | which is a hat for the Raspberry Pi. https://blokas.io/pisound/ | | The UI, MODEP, is based on the Mod Devices work on their open | source pedal (Originally Mod Duo) > https://mod.audio/. | bobleeswagger wrote: | I bought a PiSound to tinker with the Midi interface a bit, had | no idea it was this powerful. | ushakov wrote: | Reminds me of NeuralPi, which uses ML models to emulate real AMPs | | https://github.com/GuitarML/NeuralPi | alex7o wrote: | I gave been using NeuralPi not on a Rpi and I have found the | results sometimes to be on par with neutral DSP. | rerdavies wrote: | Also see: https://rerdavies.github.io/pipedal/ | | which solves the problem with using a bar's Wi-Fi by using Wi-Fi | Direct. | worik wrote: | If you are interested in this see https://blokas.io/modep/ | | Hosting plug-ins is a very powerful way to go. | pengaru wrote: | I've found the RPi4B to be somewhat awful for low-latency audio | usage. | | My particular use case is simply playing MP3s read from mmc | through an MBox1 on USB. | | No matter how much irqbalance, isolcpus, taskset magic, it never | gets absolutely perfect. It gets better, but there's always | spurious delays exhibited as occasional pops and clicks in the | audio output. | | I'm hopeful that [0] will improve the situation, but haven't had | time to really dig into it let alone build a custom bleeding-edge | mainline kernel - which I'm not even sure supports all the Pi4B | hardware. | | It's asinine that an otherwise idle 4Cx1.8Ghz machine can't even | play MP3s on a USB MBox1 flawlessly with zero special effort... | | [0] | https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... | atoav wrote: | Nice project, but nonway on earth I am taking anything with a | breadboard and jumperwires onto stage -- except maybe if I plan | to make it part of the performance ___________________________________________________________________ (page generated 2023-03-07 23:00 UTC)