Skip to content

Axyom/openwig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 →

openwig demo

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.

Found a bug or have a question? Open an issue for bugs, or start a thread in Discussions for questions, ideas, and feedback.

License

GPL-3.0-or-later. See LICENSE.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors