spotify / pedalboard

🎛 🔊 A Python library for audio.
https://spotify.github.io/pedalboard
GNU General Public License v3.0
5.23k stars 262 forks source link

Split, Feedback and Merge possible? #162

Closed AI-Guru closed 1 year ago

AI-Guru commented 2 years ago

Hello everyone!

First and foremost, congratulations! Pedalboard is a fine piece of technology. I am using and it gives me joy.

A question. Or more a feature request... In audio production, there are many fundamentals. Splitting, feedback, and merge are three of them. Is it possible to do the same with pedalboard on one effects chain?

From the documentation and the code, I have gathered that merging is there in the form of the Mix class. I did not find the other two.

As an example, here is a screengrab from Mick Gordon's talk at GDC 2017 where the talks a bout a fairly complex effects-chain:

grafik

It shows all three operations and is thus a fine example.

psobot commented 2 years ago

Thank you! Appreciate the kind words.

You’re right that mixing is handled by the Mix plugin (thanks to the fact that all Pedalboard objects are one-input, one-output). I’m not sure how splitters might be used independently of mixers; my understanding is that Mix implements a splitter automatically. (The input to each Mix plugin is copied to the inputs of each plugin in the Mix, even if that plugin is a Pedalboard itself, allowing for complex nesting.)

Feedback, on the other hand, is currently not implemented at all and would probably also require some larger design changes, like allowing for multiple inputs per plugin (or sidechains). I’d be happy to consider any proposals for how that behaviour should work, as I’m not sure what use cases that behaviour might be most useful for.