Skip to main content

Make a VST using Python

Project description

Pyphonic

Pyphonic is a library (and a separate standalone VST plugin) that receives blocks of audio and midi data from a VST plugin in realtime, processes them, and returns new audio and midi data to the VST which can output it through a DAW like Ableton or FL Studio.

You define a callback like so:

class DopeSynth:
    def __init__(self):
        # Do any setup
    def __call__(audio, midi, bpm, block_size):
        # do some processing
        return audio, midi

then (while the VST is running somewhere):

from Pyphonic import Pyphonic
p = Pyphonic(dope_synth)
p.connect() # Establish first-time connection to the VST
p.go() # Start streaming

Remote use

You can specify host and port when initializing Pyphonic. This might be useful if say you have a laptop for music making and another computer on a home network with a GPU that you use for deep learning.

p = Pyphonic(dope_synth, host="192.168.1.102", port=11586)

Limitations

  • 16-bit audio only. Things were a little slow with 24-bit.
  • Stereo (2 channel) audio is assumed.

Building

From the top level dir: python -m build

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Pyphonic-0.9.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

Pyphonic-0.9-py3-none-any.whl (6.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page