[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)