the [macronaut] hub_
in october 2002 toxi and meekmocha released the macronaut, a music video of sorts, using realtime generated 3d visuals, heavily inspired by toxi's background - (the early days of) the demo scene.
macronaut was a proof of concept of some ideas i wanted to try out to create audio-reactive visuals which are aesthetically interesting, as well as responding well to the audio inputstream used. possibly the biggest difference to more common approaches, the underlying engine does attempt a beat detection - even if very basic - instead of visualizing the raw audio data, like iTunes does for example. this extra layer acts as "server" of sorts, providing event data and statistics of a sound fragment to the currently active visual module, which is then free to interpret this data in any possible way. those generated "beat" events are the primary source of change for the visuals. the audio data itself is (so far) only used as additional, secondary input for creating the visuals. as all of the implemented visuals are making use of 3d so far, i also focussed on "filmic" elements like camera changes and cuts as event receivers.
live shows
the engine in its current state has been shown and exhibited at:
this release
ever since the first release on k10k countless nights have been spent to explore some of those initial ideas further and create a modular system for audio-reactive pieces. whilst still a far cry from this ideal, the current public version is IMHO generic enough to qualify as experimental music visualization engine.
here's a list of all available modules, some of which are included in the binary version of this release.
  • rob dougan fractal (2001)
    originally, a screensaver produced for the artist/producer rob dougan this module consists of IFS fractals and particle systems
  • the well (2002)
    the very 1st macronaut module, produced for the Cybersonica 2002 festival at ICA, London and permanent exhibit at for more information, please see the project website.
  • macronaut (2002)
    the 1st released prototype of the macronaut engine is in itself a collection of 12 smaller modules. originally it came with its own soundtrack, removed for this version. more information on the project website.
  • liquids (2003)
    10 particles are moved by the energy produced by a new beat trigger and deform a "liquid" plane/heightfield.
  • voyage (2003)
    generative train journey in a minimalist colour scheme. masts and objects moving in opposite directions create an interesting perspective. the general direction of the track is controlled by lissajous curves.
  • audio spine (2003/04)
    audio sample data is displayed as melting 3d spine created by using the wave data as lathe source to create the 3d sculpture.
  • moiree (2003/04)
    48 frequency bands are rendered in an op-art style. beats will trigger changes in various parameters of the algorithm, as well as camera and other scene transforms.
  • kaleidoscopes (2004/05)
    a infinite sequence of kaleidoscopes in 3d space using twisting triangles.
  • chained probabilities (2004)
    the sequel to the moiree module and inspired by the dutch constructivism of the 1920/30s, this module describes a fully parametric 3D space which is partially reconfigured whenever there's a "drastic" change in the audio. the louder the input signal the more the space fills up with elements. the resulting blackness inverts the space visually until the signal weakens again. all parameters are linked via probability chains.
  • dynamic clusters (2004)
    a network of nodes in constant flux. the audio triggers growth or death impulse to control the number of nodes in the net and their movement. beat events also influence the maximum clustering distance. neighbouring nodes with that distance will form links between each other and so create a structure of clusters.
screenshots of various modules... click to enlarge!
screenshot screenshot screenshot
screenshot screenshot screenshot
screenshot screenshot screenshot
Creative Commons License
Creative Commons License

this work is licensed under a Creative Commons License.
this first public release of the engine is available as standalone executable as well as the director source code, which is released under the Creative Commons License. the executable comes bundled with 5 selected visual modules and documentation. the source code archive also contains one of the modules as source file and a basic template to create new modules.
original idea, design and code by karsten schmidt <info at toxi dot co dot uk>. please use this address for booking information or any other enquiries. any feedback is highly appreciated!
quick reference
  1. system requirements
  2. installation
  3. dual screen support
  4. calibration
    1. auto sensing
    2. beat detection
  5. keyboard shortcuts
1. system requirements
to successfully run this application and its modules the following hardware is required as minimum configuration:
  • Pentium 3, 800MHz+ CPU
  • Windows 2k/XP
  • 64MB+ RAM
  • GeForce3 or better graphics card (16MB+ VRAM)
  • DirectX 7 or OpenGL
  • Soundcard input functionality
  • up-to-date sound and video card drivers
  • standard keyboard
please note that for a show/exhibition environment a better configuration is desired. software has been written & tested on: Dell Inspiron 8500, 1.4GHz Pentium 4, 512MB RAM, GeForce 4Go with 64MB VRAM, SigmaTel soundcard.
2. installation
this app can be run from anywhere on your hard disk or even directly from CD, although in the latter case it is advised to have a fast CD-ROM drive to avoid delays when switching between modules. no other installation process is necessary. simply launch the file "macronaut_hub_v019.exe" and follow the instructions below.
3. dual screen support
if you're using a dual screen setup, make sure both monitors are activated and configured correctly before launching the application as this setting is only checked during startup of the software. if 2 screens are available, the visuals will be shown on the 2nd screen, whereas the interface will remain on the primary display. in any way, visuals will always be rescaled to the dimensions of the currently used screen. if only a single screen/display is available the visuals and console are both displayed on that screen. the console can be toggled by pressing "C" on the keyboard.
4. calibration
the macronaut application hub implements a very simple user interface to help adjusting the visual modules to changing and unpredictable audio environments, as well as hardware setups.
once launched, the software will automatically load & display the first available module and show the console window with the user interface (UI). via the console you can adjust which sound input device and source to use as input for sound reactive modules. depending on your setup, more than one sound device (sound cards) might be available, so please press the "> next" button (or "d" on the keyboard) to switch to the next available device. repeat the same for selecting the correct source from the currently selected device (here it's the "s" key). most sound cards should offer at least these 3 options: "Microphone", "CD Audio", "Sound Mix"...
4.1 auto sensing
the "auto config" feature ("a" key) will cycle through all available sound devices and sources and try to determine the most likely currently used sound input and amplification settings. depending on the number of sources available, this will take several seconds (2sec/source) and sound should be playing during this process. after all possible variations have been tested the app will settle on the input with the strongest signal and adjust the amplification factor (see below). please note though, that this setting is only a guidance and will most likely have to be finetuned by you, the user.
4.2 beat detection
one of the features of the macronaut engine is a quite simple, yet sufficiently effective beat detection algorithm. apart from the actual sample data, its other parameters are the amplifier and sensitivity threshold settings. all sound reactive modules will depend from the correct settings of these values, whose default setting should be purely understood as starting point. to help you with the calibrating process, the top right corner of the console window has a beat indicator, a red flashing dot, which should only be re-triggered whenever a "beatlike" change in the audio signal occurs. really, you'll have to feel when it's right. anyone with a bit of musical understanding will... eg. if using the microphone as input source, you can test this by clapping your hands close to the microphone. though, playing music (with beats) will most likely work better...
  • the amplifier factor is used to adjust the gain of the actual sound signal. a value of 1.0 equals the signal being interpreted at 100%. depending on the club environment, you might have to decrease or increase the value in order to get proper results. use the 2 arrows buttons or keys "-" and "+" to adjust this value.
  • the beat detection threshold itself depends on the current amplification setting and specifies the magnitude of change of volume in the amplified audio signal. a lower value will result in a higher sensitivity of the algorithm and potentially in more triggered "beat events". similarily, a higher threshold will potentially reduce the sensitivity of the beat detection. use the 2 arrows buttons or keys "[" and "]" to adjust this value.
  • use the minimum time interval between beats setting to adjust the overall visual behaviour of a module. in most modules, triggered beat events have strong impact on camera settings/scene cuts. if the beat detection is too sensitive, scene changes might be too radical/often, so by increasing this minimum time delay between successive beat events, these changes can be reduced (or increased vice versa). in principle, a new beat event occuring within this period (since the last successfully triggered beat) will be simply ignored. the corresponding "BPM" value again is only to be taken as guidance & refers to the principal tempo of the visuals (assuming visual "beats" can be triggered with a precision of 1/16th of a bar).
as a rule of thumb: if the visuals are not reactive enough, slowly increase the amplifier setting and/or reduce the threshold value.
on the contrary, slowly reduce the amplifier and/or increase the threshold setting and min. interval between beats if you feel the visuals are too "hectic".
5. keyboard shortcuts
use the following keyboard shortcuts to adjust the engine's settings without using the UI of the console window
  • - / + : adjust amplification of audio signal
  • [ / ] : adjust beat detection threshold
  • o / p : adjust min. time interval between beats
  • s / S : switch to next source on current device
  • d / D : switch to next available sound device
  • a / A : automatic input configuration
  • c / C : show/hide this console (always visible on dual monitor setup)
  • x / X : skip/exit current module
  • ESC : quit application