I am pleased to announce the first release of PyVST.
PyVST is a ctypes-based wrapper for the (open) VST standard developed by Steinberg for audio processing.
Version 0.1 provides basic access to the VST interface, as well as a script to analyze and display the audio process of a plugin. It can be easy-installed or downloaded on its Launchpad page.
Changelog for 0.1:
- Uses the VST dispatcher for several functions:
- processReplacing
- processDoubleReplacing
- open/close the plugin
- open/close the GUI editor
- returns the GUI rectangle
- set the sample rate
- set the block size
- get name/vendor/product
- handle programs
- handle parameters
- suspend/resume
- set/get a parameter
- get number of programs
- get number of inputs
- get number of outputs
- display.py script
- can load any plugin
- displays the editor, if it exists
- uses a stereo sine-sweep
- displays a spectrogram of the process of the stereo sine-sweep
- dumps properties information
Hey 🙂
As a python lover, I wonder : how would you run plug-ins made with this ? Would you have to compile them to a dll using Cython? Since py2exe won’t make any dll and you need one…
Or maybe embedding the python code into c++ code ?
thanks 🙂
Hi,
Unfortunately, it’s not this way around. It’s just a VST encapsulation that allows you to use existing VST plugin + their GUIs. It’s not meant to create VSTs. There is another project for that.
Matt
Thanks! just what I need. Simple and useful.
I haven’t tested it in a long time, so I don’t know how it works with more modern libraries (also the 32/64bits).
Well I didn’t have any trouble beyond the “bug” reported in launchpad. I’m very satisfied with the results 🙂
Hello,
excellent work done with PyVst.
I´ve been trying it and it works prefectly with ‘float64’ plugins, but I am not able to make it work with the ‘float32’ ones (I get an error on the audio callback: ‘plugin.process([input_audio], [output_audio])’
Do you know if it works…or maybe I am doing something wrong?
Thanks in advance,
Ruben
I have no idea, I’ve stopped working on this ages ago…
What do you call float64 or float32 plugins?
Thank you for your response Matt, I know that´s from 6 years ago, jeje.
I meant ‘plugin.can_process_double()’: then it works with float64 streams. But with float32 streams I am not able to make it work.
There´s not too much information I can find on google….
Thanks anyway!
Best regards,
Ruben
Unfortunatly, I don’t know exactly why this is happening. I don’t know if I’ll have the time to look at it either :/