Skip to main content

Graph-based live audio manipulation engine implemented in Python

Project description

Synchrotron

Graph-based live audio manipulation engine implemented in Python

[!NOTE] For the frontend web interface to interact with Synchrotron, go to SynchrotronUI (GitHub).


What is it?

Synchrotron is all of the following:

  • DSP (Digital Signal Processing) engine
  • Audio router / muxer
  • Synthesiser
  • Audio effects engine
  • MIDI instrument
  • And more!

It's still very much a baby project, but make no mistake, it can already be pretty powerful! Take a look for yourself:

Hack Club Showcase - Synchrotron
Hack Club Showcase - Synchrotron

Synchrotron has been designed from the ground up with maximum flexibility and interoperability in mind, and as such, there are many ways to use Synchrotron and interact with the server.

This includes (click images to enlarge):

Blender-inspired node editor UI Fancy TUI Console REST API Python API

The possibilities are endless - whether you wish to render audio to a WAV file on a remote server, or embed the Python package as a dependency for your desktop app. Use Synchrotron as a Python library, interact with its webserver's endpoints through an HTTP client, or use the elegant Synchrolang syntax to control it with just your keyboard.


Installation

Synchrotron can be installed from this repository directly via pip:

pip install git+https://github.com/ThatOtherAndrew/Synchrotron

Of course, uv - the faster pip alternative - is also supported:

uv pip install git+https://github.com/ThatOtherAndrew/Synchrotron

Startup

From the Python environment you installed Synchrotron in, you can start the server:

synchrotron-server

To start the console for a TUI client to interact with the server:

synchrotron-console

Usage

Synchrotron provides a Python API, DSL, and REST API for interacting with the synchrotron server - the component of Synchrotron which handles the audio rendering and playback.

For the humans, you can find a web-based user interface for Synchrotron at ThatOtherAndrew/SynchrotronUI.

Random YouTube Video

I recorded myself at a pretty garden in Queens' College in Oxford yapping about dependency graphs: https://youtu.be/qkNqOcH2jWE

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

synchrotron-0.1.0.tar.gz (13.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synchrotron-0.1.0-py3-none-any.whl (11.0 MB view details)

Uploaded Python 3

File details

Details for the file synchrotron-0.1.0.tar.gz.

File metadata

  • Download URL: synchrotron-0.1.0.tar.gz
  • Upload date:
  • Size: 13.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for synchrotron-0.1.0.tar.gz
Algorithm Hash digest
SHA256 86a0a674007a9a98bb309727cafa76c6ce364a3500c360867fb8296f10ec6a82
MD5 d9e03908d062901a4136914079d5427a
BLAKE2b-256 c8d13fa057f527016d073ffaef0ee312e05ffc761622f6eec74f9ab8fc78a658

See more details on using hashes here.

Provenance

The following attestation bundles were made for synchrotron-0.1.0.tar.gz:

Publisher: pypi.yml on ThatOtherAndrew/Synchrotron

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file synchrotron-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: synchrotron-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for synchrotron-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77f095da0ea633190ee33ea35320e7a51570915f36469530813dc7d006e46472
MD5 f46f203f0319aa8dfcfafc138abc9825
BLAKE2b-256 a2758794b462566181b63bc93435e6fa026fd50a4a17dbc18c3455c6d2339b95

See more details on using hashes here.

Provenance

The following attestation bundles were made for synchrotron-0.1.0-py3-none-any.whl:

Publisher: pypi.yml on ThatOtherAndrew/Synchrotron

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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