·AXIOM·

v0.01 extra-alpha


Axiom is a lightweight framework for building MIDI sequencers. It is (almost) fully configurable via XML files (using XMLPull). It was built using Java 1.4.2. It's fairly alpha. But it's pretty functional anyway.


High Concept: Axiom is a collection of Machines. A Machine is a thing that takes up space on the screen and (probably) does something to manipulate MIDI. Examples of Machines might be Mixers, Drum Machines, or Arpeggiators.. etc.
There are a few ready-made machines here, but the hope is that it's pretty easy to write your own if you don't see something you like.

About these Machines: There are a few concepts from the screenshot that need some explaining -- One is the use of Channels. There are 16 standard MIDI channels, and there are 16 "Local" Channels that you can use to tunnel MIDI data around your Machines. For example, if you have a Delay machine and want to run your Drum Machine through it, set the Output channel on the Drum Machine to Loc1, and the Input channel on the Delay to Loc1. And there you go. Machines, starting from the top left:
  • Mixer - Mixes MIDI data by altering the outgoing note velocities. The Play button controls the master clock, and tempo control is here as well. Still needs XML configuration, hard-coded to my setup :)
  • PassThru - Very simple passthru machine, routes MIDI notes from the input to the output.
  • KeyControl - Keyboard controller. This turns your MIDI keyboard into something that can manipulate the sequencers in Axiom. Changing patterns, restarting patterns, cutting in and out, solo (which doesn't work yet), that sort of thing. This is engaged if the KC Button is down. You will notice the [KC] lights on each sequencer -- When lit, it indicates that the KC is currently controlling that sequencer.
  • Seq - Simple key sequencer. Has Record, Step Record, normal Play (Doesn't do anything, lets you use KeyControl w/o accidentally recording notes), and a Transpose mode. Can handle patterns between 16 and 64 notes.
  • DrumMachine - A drum machine. ... That's it. Can handle patterns between 16 and 64 notes.
  • MiniDrumMachine - A miniature version of the DrumMachine. You can load several of these into a relatively small space, if you're not interested in recording on all of them but just to play several sequences simultaneously.
  • MiniSeq - A miniature version of the Sequencer. Same concept as above -- for playing several sequences at once.

    You can download a tarball of the source here.