Annoucement: PyVST 0.1

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
  • 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
Buy Me a Coffee!
Other Amount:
Your Email Address:

9 thoughts on “Annoucement: PyVST 0.1

  1. 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 🙂

    1. 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.


      1. Well I didn’t have any trouble beyond the “bug” reported in launchpad. I’m very satisfied with the results 🙂

  2. 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,


  3. 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,

    1. 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 :/

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.