Skip to content
standalone MIDI sequencer
C++ Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
img add empty set symbol to GroupWidget to indicate null state May 17, 2018
rtmidi @ 81eabf2
src Sequence.cpp: fix typo in comment Dec 5, 2018


a standalone MIDI step sequencer

Ziggurat Screenshot

Build Instructions

First, install dependencies:

sudo apt-get install qt5-default libasound2-dev libjack-jackd2-dev g++

Then, clone the source code and initialize the submodule:

git clone
cd ziggurat
git submodule init && git submodule update

NOTE: If your version of libjack-jackd2-dev is older than 1.9.11, then you should comment out the line containing -DJACK_HAS_PORT_RENAME in

Finally, compile and run:


Basic Usage

Ziggurat starts up with 3 empty groups, represented by the 3 rectangles near the top of the main window. To add a sequence, right-click on a group, choose "Add Sequence", choose a sequence name and length and click "OK".

Along the bottom of the window, you will find the Button-Row Editor, where you can enter notes by clicking on the buttons. The default note has MIDI value 60 (middle C) and velocity 100. To change this, mouse-wheel over the button; holding Shift will increase the rate of change. You can switch between editing note value or velocity using the dropdown menu in the Row Editor.

In the Transport section (middle-left), you can set the tempo, start, stop, and pause the sequencer. Hitting spacebar toggles start/stop. Each sequence has a set of parameters (Name, Tranpose, MIDI channel, etc.) which can be edited in the Config section (middle-right).

Sessions can be saved (Ctrl-S) to project files, which can later be re-opened (Ctrl-O). The file format is stadard JSON, with file extension *.zig

You can’t perform that action at this time.