[HN Gopher] Python audio processing with pedalboard
       ___________________________________________________________________
        
       Python audio processing with pedalboard
        
       Author : sohkamyung
       Score  : 81 points
       Date   : 2025-07-18 12:36 UTC (4 days ago)
        
 (HTM) web link (lwn.net)
 (TXT) w3m dump (lwn.net)
        
       | camtarn wrote:
       | GitHub: https://github.com/spotify/pedalboard
       | 
       | Sadly, although it supports realtime processing, it doesn't say
       | anything about latency, which is a make-or-break quality for most
       | realtime audio processing. Definitely feels like a batch
       | processing library which has had realtime support bolted on. The
       | VST support is extremely cool though!
        
         | nicoloren wrote:
         | The name "pedalboard" might not be the most fitting if latency
         | is too high. That said, it could still be very useful in a
         | studio setting for post-production work.
         | 
         | What would be really exciting is a hardware device with all the
         | standard plug-and-play inputs, capable of running Python...
         | essentially a true open-source pedalboard for guitar
         | enthusiasts.
        
           | Archit3ch wrote:
           | So... a standard PC/Mac with an audio interface? ;)
           | 
           | No, what would be really exciting is a Digitally-Controlled
           | Analog device, like the FreqTube FT1. Then python would
           | control actual switches.
        
             | camtarn wrote:
             | If I was looking for a digital pedalboard device I'd want
             | something that was extremely rugged, never had software
             | issues or forced me to download updates, and booted up
             | within about 10-15 seconds (that's how long the digital
             | pedals on my actual pedalboard take to boot). It also needs
             | a case with, at the very least, a couple of patch change
             | switches and an on/off switch; but preferably a lot more.
             | 
             | The ruggedness and built-in controls are really important.
             | I used to gig with a standard laptop + audio interface +
             | multiple MIDI controllers. The external gear was a real
             | hassle to set up, even with everything labelled with bright
             | coloured tape so I could just match colour to colour while
             | plugging it in. And eventually the laptop got knocked over
             | and fell a couple of feet onto a wooden stage - and even
             | that minor impact smashed the screen, which was glued in so
             | I couldn't replace it. I also have a horror story about a
             | machine rebooting to apply Windows updates in the middle of
             | a gig and requiring the rest of the band to improvise until
             | I was done! I don't really gig any more, but if I took it
             | up again, I would switch to using as much hardware as I
             | could.
             | 
             | But I really don't care about actual analog devices. I
             | already have a decent few DSP-powered pedals on my
             | pedalboard and I cannot tell the difference, other than the
             | true analog ones are more noisy!
        
               | lambda wrote:
               | There is the MOD Dwarf, a Linux based pedal that is much
               | as you describe. It has a pedal style case with three
               | foot buttons, a few encoders and buttons and screen for
               | changing parameters on the fly, but to fully configure it
               | you use a laptop or tablet to connect to it and set up a
               | patch.
        
               | camtarn wrote:
               | That's a lovely little bit of hardware, and it's not
               | actually that expensive too! Great recommendation, thank
               | you.
        
               | anton-c wrote:
               | Seems better than the absolutely crazy custom one I made
               | myself when I was like 22
               | 
               | https://m.youtube.com/watch?v=dJG5IMOVYmI
               | 
               | Also just normal computer footpedals that were like 34.99
               | worked great for controlling the software if there's
               | extra things u still need to assign
        
         | timlod wrote:
         | I've used it before for realtime-uses (not production though
         | where you'd need 100% guarantees for no drop-outs), latency has
         | not been an issue. I think you essentially get the latency of
         | the plugins you're using since this is a JUCE wrapper.
         | 
         | Ultimately it depends on how much work you do and how efficient
         | an audio thread you built. pedalboard is not a library which
         | does audio playback itself, it just effects buffers you give
         | it. I used python-sounddevice, which are bindings for PortAudio
         | - if you don't use much CPU you can comfortably run plugins in
         | realtime.
         | 
         | Obviously you're still beholden to the GIL in Python (until
         | further notice) so if worse comes to worst you might experience
         | the unlucky dropout.
        
       | ofrzeta wrote:
       | Related discussion with comments by the author:
       | https://news.ycombinator.com/item?id=28458930
       | 
       | including "Under the hood, this is essentially just a Python
       | wrapper around JUCE (https://juce.com), a comprehensive C++
       | library for building audio applications. We at Spotify needed a
       | Python library that could load VSTs and process audio extremely
       | quickly for machine learning research, but all of the popular
       | solutions we found either shelled out to command line tools like
       | sox/ffmpeg, or had non-thread-safe bindings to C libraries.
       | Pedalboard was built for speed and stability first, but turned
       | out to be useful in a lot of other contexts as well."
        
       | westurner wrote:
       | BespokeSynth is also built on JUCE.
       | 
       | BespokeSynth supports VST3, AudioUnit, LV2,:
       | https://github.com/BespokeSynth/BespokeSynth/issues/1614
       | 
       | One day, I found a number of open source patch bay
       | implementations. They may be useful for building a GUI with
       | pedalboard:
       | 
       | - https://github.com/Houston4444/HoustonPatchbay :
       | 
       | > _[HoustonPatchBay is] a patchbay for JACK used by RaySession
       | and Patchance, usable by other python Qt5 softwares._
       | 
       | - RaySession: https://github.com/Houston4444/RaySession is a
       | patchbay for JACK
       | 
       | - Patchance: https://github.com/Houston4444/Patchance is JACK
       | patchbay gui w/ ALSA MIDI support
       | 
       | > _It is a direct alternative to Catia or Patchage_
       | 
       | - org.pipewire.helvum:
       | https://gitlab.freedesktop.org/pipewire/helvum
       | https://flathub.org/apps/org.pipewire.Helvum :
       | 
       | > _Helvum is a GTK-based patchbay for pipewire, inspired by the
       | JACK tool catia._
       | 
       | - easyeffects: https://github.com/wwmm/easyeffects ; pipewire +
       | GStreamer -> just pipewire
        
       ___________________________________________________________________
       (page generated 2025-07-22 23:01 UTC)