Skip to main content

Algorithmic composition for Bitwig Studio. Write Python, get songs.

Project description

openwig

Algorithmic composition for Bitwig Studio. Write Python, get songs.

License: GPL v3 Bitwig 6.0.6 Python 3.11+

Goes where Bitwig's official Controller API can't: build arrangements, devices, modulators, sidechains, automation curves, and full multi-track songs from a Python program. Render to .wav, export to MIDI/JSON.

Free and open source (GPL-3.0). Windows only. Early beta.

from openwig import Song

s = Song(tempo=128, bars=16, clean=True)

kick = s.track("KICK", device="v9 Kick")
kick.fx("Saturator", Drive=0.20)
kick.clip(s.pulse(36, step=1.0))

bass = s.track("BASS", device="FM-4")
bass.fx("Filter")
bass.clip(s.pulse(33, step=1.0, off=0.5, dur=0.4, vel=0.85))
bass.pump(hi=0.82)

s.master(["EQ+", "Compressor+", "Peak Limiter"])
s.play()
print(s.render("song.wav"))

Compatibility

openwig Bitwig Studio Python OS
0.1.x 6.0.6 3.11+ Windows

The SDK reaches into Bitwig internals that move across releases, so it targets a specific Bitwig version. A mismatch refuses to connect with a clear error- bump the SDK when you bump Bitwig. Rendering uses WASAPI loopback (Windows).

Install

pip install git+https://github.com/Axyom/openwig.git
python -m openwig install   # copies the controller into Bitwig's user dir
python -m openwig doctor    # verify deps + controller + bridge

Then in Bitwig: Settings → Controllers → Add → OpenwigBridge (one time).

Contributing

Issues and PRs welcome. Currently Windows + Bitwig 6.0.6 only.

License

GPL-3.0-or-later. See LICENSE.

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

openwig-0.1.0.tar.gz (68.8 kB view details)

Uploaded Source

Built Distribution

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

openwig-0.1.0-py3-none-any.whl (72.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openwig-0.1.0.tar.gz
  • Upload date:
  • Size: 68.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openwig-0.1.0.tar.gz
Algorithm Hash digest
SHA256 954795c3f60adb7b2a697404e16864e1e69552145babc59cf30b4dddabe9cda7
MD5 a4d6479db9cc64aee6a6e9b8dc9be4ab
BLAKE2b-256 185124e5b32a4a916545245ae055fa5ec64a03bbc660dcd485390b1d879e0545

See more details on using hashes here.

Provenance

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

Publisher: release.yml on Axyom/openwig

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

File details

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

File metadata

  • Download URL: openwig-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 72.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openwig-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cfd64696728c8302445c51f3676940d70e308f606f19a2d86fa78fa93b970e47
MD5 547be75fff5e8fe6340a6468125311e8
BLAKE2b-256 2207371ad67229e0c02aed17be1248f2142c883afbb34e7a9c78114c6f4cdf7f

See more details on using hashes here.

Provenance

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

Publisher: release.yml on Axyom/openwig

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