Axoloti Patcher

The Axoloti patcher is the software part of Axoloti, and is a workbench to compose and edit your sound algorithms and interactions. After editing, patches can be stored in the Axoloti Core, and run without a computer connection.


The Axoloti patcher object library currently offers oscillators (sine, alias-free saw, square, pwm, some noise generators, FM modulation), 1st order and 2nd order filters, envelopes, LFO’s, tables, Midi I/O, analog voltage input, PWM output, and streaming wave file playback from SDcard.

The Axoloti patcher is written in Java and works on Windows, OSX and Linux. This GUI actually generates C++-code from the patch, then uses GCC to create binary executable code, and uploads the executable to the microcontroller, with one single mouse-click. After uploading, the patcher “locks” the patch architecture, and parameters in the patch can be adjusted in real-time on the screen (or from a midi controller).

Axoloti patcher features:

  • Seamless edit/compile/upload/adjust with a simple “live” button
  • Wire datatypes for booleans (yellow), integers (green), fractional numbers (blue), and audio fractional number buffers (red)
  • Seamless readback of live data in the patch: VU-meters, chart plotter, oscilloscope, spectrum analyzer…
  • Object “input type overloading”: objects can adapt to the type of connected inputs
  • Object selector with search
  • Cut/copy/paste (using plain text XML)
  • Midi mappable controls
  • Parameter modulation
  • Sub-patching (using a patch as an object in another patch)
  • Presets
  • Midi polyphonic voice allocation

Axoloti object library:

  • Input/output
    • audio input
    • audio output
    • digital in (including optional pullup or pulldown configuration)
    • digital out (push-pull or open-collector)
    • analog in
    • digital PWM outputs
  • LFO’s
    • sine
    • saw
    • square
  • Oscillators
    • sine
    • saw
    • square
    • pulse-width modulation
    • saw with sync
    • square with sync
  • Envelopes
  • Filters
    • lowpass biquad
    • bandpass biquad
    • highpass biquad
    • lowpass 1st order
    • highpass 1st order
  • MIDI
    • controller in
    • controller out
    • keyboard (incl. velocity, release velocity, polyphonic pressure)
    • bend in
    • bend out
    • channel pressure
  • Mixer
    • 1,2,3,4… channel input mixer
    • crossfader
  • Logic operators
  • Tables
    • similar as in Pure Data
  • Echo
  • Delay lines
    • similar as in Pure Data
  • Displays
    • VU-meter
    • chart-plotter
    • oscilloscope
    • bandpass-filter based spectrum analyzer (constant-Q)
    • FFT-based spectrum analyzer
  • Math
    • Logarithm
    • Exponent
    • Square root
    • Reciprocal
    • Sine/cosine
  • Distortions
    • Soft saturate (non-antialiased)
    • infinite gain clipping (alias-free)