Skip to content
Advertisement

How to call audio plugins from within Python?

I’ve noticed that some open source DAWs such as Ardour and Audacity are able to access audio plugins (e.g. VST, AU) that the user has installed on their system. This makes me think that “there ought to be a way” to do this in general.

Specifically, I’d like to call some plugins from within my own audio-processing application, which I’m writing in Python. Is there a recommended method or library that one can use for this?

My own searches have turned up nearly nothing. The only relevant post I’ve seen is this one but it’s 5 years old. There is some mention of using JUCE and there are some 2-year-old Python bindings called PyJUCE (which seem to be setup for Windows), but so far I haven’t gotten anything working, mostly due my poor acclimation to the sheer “bulk” of JUCE.

Any suggestions?

Perhaps the only remaining option is to start from scratch by writing one’s own VST host, and then proceed as one would when calling any external C++ code from within Python. I just thought I’d ask before reinventing the wheel, because it’s often the case that “whatever you want to do, someone else has already written a Python package for it.” ;-)

Advertisement

Answer

…Two years later, here’s an answer:

Igor Gadelha wrote a GitHub repo dpm that includes his vstRender class, which he wrote in JUCE. Currently it only works for mono plugins. I wrote some simple code to illustrate how to use vstRender, which Igor included in his “contrib” section: run_plugin.py.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement