Source Code | Tickets | Trello | Twitter | Patreon | © Michael DeHaan, 2020


Thank you for interest in trying out Warp!

Warp's user interface is a local web application typically accessed on port 8000. To use it, you must first install and start a local web server process ('warp').

There is also a Python API that may be interesting to audiences interested in algorithmic composition. In the near future, OS-specific packaging may be available. For now, we will assume some command line skills to install it and get it running.


Warp should work on most any computer. First install python3 and git if you do not already have them. On a Mac, you can install these through homebrew from the Terminal:

brew install python3
brew install git

Checkout The Source Code

We can install warp via 'pip' (the python packaging tool), but it will be easier if we check it out from source, as that will allow access to the numerous examples that come with Warp.

Clone the project into any directory you like:

cd wherever
git clone

Install Warp instead from pip:

pip3 install warpseq --upgrade
  If the pip install fails on a Mac, you may need to install or update XCode developer tools to build a MIDI library we use. Run: "xcode-select --install" and then retry the command.

Creating a Virtual MIDI Bus

If you want to use Warp with software synthesizers, you will need to create a Virtual Bus in your operating system if you do not already have one. Ableton has already written some great documentation on creating one:

How To Setup A Virtual MIDI Bus [].

You can skip step 5 in the above document if you are not using Ableton. Further, if you want to just talk to hardware MIDI instruments (and not soft synths), and don't need to route MIDI through your DAW, you can also choose to not set up a virtual bus.

  When writing your tracks, unless you feel the need to record MIDI notes vs audio, you should possibly consider not routing MIDI through the IAC bus into your hardware synthesizers. You will have better performance talking to your MIDI interface hardware directly.


To learn how to run the web interface, see User Interface. Alternatively, see the API Documentation.

  If you get stuck or have a question, we're always wanting to refine our documentation, so please Email Michael. We'd be glad to hear from you!