Skip to main content

Use VST/LV2/etc. plugins with realtime abilities in Python

Project description

pyCarla

A python module for synthesizing MIDI events and files from python code with using any kind of audio plugin!

See docs for more installation and more info.

TLDR

Python has no strong real-time capabilities since it cannot run with parallel threads. This method delegates most of the realtime stuffs to external C/C++ programs, improving the performances and the accuracy against pure-Python based approaches.

This method is really portable and supports almost any type of plugins and virtual instruments thanks to the excellent Carla:

  1. Linux VST2/VST3
  2. Windows VST2/VST3
  3. LV2
  4. LADSPA
  5. DSSI
  6. AU
  7. SF2/SF3
  8. SFZ
  9. Any other format supported by external plugins

TODO

For sure

  1. Add single function to synthesize midi file
  2. Add single function to batch-synthesize midi files
  3. Make synchronization handling xruns (edit is_ready)
  4. Update Carla
  5. refactoring with a generic start method in JackClient and specific methods get_callback and get_duration

Maybe

  1. Use Carla python code to control Carla host
  2. Support LADISH sessions for automatically starting LinuxSampler if needed
  3. Installation scripts for windows and mac

Credits

  1. Federico Simonetta
    federico.simonetta at unimi.it

Download files

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

Files for pycarla, version 0.3.3
Filename, size File type Python version Upload date Hashes
Filename, size pycarla-0.3.3.tar.gz (23.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page