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, sidechains, automation, and full multi-track songs from a Python program, then render to .wav.

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

Documentation →

from openwig import Song, Note

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

kick = s.track("KICK", device="v9 Kick")
kick.clip([Note(36, beat, dur=0.25) for beat in range(16)])

bass = s.track("BASS", device="FM-4")
bass.fx("Filter")
bass.clip([Note(33, beat+0.5, dur=0.4, vel=0.85) for beat in range(16)])

duck = []
for beat in range(16):
    duck += [(beat, 0), (beat + 0.99, 1)]
bass.automate("volume", duck)

hats = s.track("HATS", device="v9 Hat Closed")
hats.clip([Note(42, beat + 0.5, dur=0.2, vel=0.6) for beat in range(16)])

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

Compatibility

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

Install

pip install openwig
python -m openwig install   # copies the controller into Bitwig's user dir

Then in Bitwig: Settings → Controllers → openwig → Add → OpenwigBridge (one time), and verify with python -m openwig doctor.

Full guide (requirements, troubleshooting, uninstall): Install docs →

Contributing

Issues and PRs welcome. Currently Windows + Bitwig 6, tested on 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.3.tar.gz (74.6 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.3-py3-none-any.whl (74.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openwig-0.1.3.tar.gz
  • Upload date:
  • Size: 74.6 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.3.tar.gz
Algorithm Hash digest
SHA256 c70b3ac97daabc60ec77cc3eac424008ea10dffbb410fc4866d1303b36a38e7a
MD5 f030f000ce9664b0609c1e972b997d8e
BLAKE2b-256 7929f430d0307f99d1d117056f68042ce8f37d6f92f2ae6e929b04d199f37d28

See more details on using hashes here.

Provenance

The following attestation bundles were made for openwig-0.1.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: openwig-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 74.4 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2b42fe419b9d52ca09aa17caf2b1f5ddd52c4c42bcec689cd1c5bbc3b46f1fce
MD5 401d70adee39ead23c3b77d93c0a5984
BLAKE2b-256 3202dad19d30558888644b9df52718a67dd93a16da7f48d348a1be4faea08746

See more details on using hashes here.

Provenance

The following attestation bundles were made for openwig-0.1.3-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