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