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

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

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.2.tar.gz (57.4 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.2-py3-none-any.whl (56.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openwig-0.1.2.tar.gz
  • Upload date:
  • Size: 57.4 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.2.tar.gz
Algorithm Hash digest
SHA256 fdffecdbcb42d76c3a321527b65d8013649762bd3b010f715510f571289bf71e
MD5 00b79d0b54f5a32d6270f3d64582aa82
BLAKE2b-256 26867d6675585a7102789a8d402ef3a5d65916c248339957ba083f2002fbb046

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: openwig-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 56.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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7ad06091b217c1db62db20b7447667cbd7a6e947f962aa73bf7edda42d03f1d6
MD5 7a11fdf228bb47e3653a1d834a685774
BLAKE2b-256 4f731268653ec9e6497644823295ed10ba229a714890f7296c780ebd5f3f5d01

See more details on using hashes here.

Provenance

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