Meta Sequencer

Documentation and Examples

The Meta Sequencer software is open source, and it's reasonably easy to make modifications to the firmware. Here are instructions to get you started.

What you'll need

  1. Meta Sequencer Firmware - the code.
  2. Arduino IDE - for compiling Meta Sequencer code.
  3. Atmel Studio - for uploading the compiled code to the Meta Sequencer.
  4. Atmel AVRISP MK2 - hardware for connecting your computer to the Meta Sequencer.

Download the code

Once you download the code from github, unzip it into a folder called MetaSequencer. The name of the folder is important. There should be a file called MetaSequencer.ino, along with a number of other .cpp and .h files in the folder.

Preparing the Arduino software

Download and install the Arduino IDE. Double click on the MetaSequencer.ino file that you unzipped in the previous step. The Arduino IDE should open. Set the following settings in the Tools menu:

Turn on detailed compilation messages under File/Preferences:

Compiling the code

Within the Arduino IDE, compile the code using the Sketch / Verify & Compile menu option.

Make a note of the location of the .elf file. This filename will remain constant until you close and reopen the Arduino IDE.

Attaching the programmer to the Meta Sequencer

Upload the code

  1. At this point, power on the Meta Squencer and connect the programmer to your computer via USB.
  2. If you haven't already, install Atmel Studio.
  3. In Atmel Studio, select Tools / Device Programmer. The software should auto-detect the ATmega328 via the ISP interface.
  4. Click "Apply"
  5. Select "Memories" from the menu on the left
  6. In the input labeled Flash, put the path and filename of the .elf file:

  7. Click on "Program".

Overview of the source code

Here are a few of the more important "hackable" files:

  • GlobalScales.cpp - Contains the scales used for quantization. If you change these, you may also need to change code in Output.cpp and Engine.cpp.
  • GlobalTranspositionTables.cpp - Contains the patterns used by both arpeggiators.
  • Engine.cpp - The real guts of the application.