Current Public Software
Nodewebba is generative music software in which a web of feedback-based pattern generators creates dynamic, interlocking melodic and rhythmic patterns. It brings my concept of Variable-Coupled Map Networks out of the research lab and into the home studio.
Handy abstractions from my projects. Right now, just:
Useful Code Snippets
Objective C / OpenGL
Current Private Software
These are projects I have developed for my own work which are not currently public. This is not because I want to hide the magic, but more because refining coding and documenting software to make it fit for public distribution would be exceedingly time consuming, as would supporting the software after release.
A plugin for Apple Motion. Based on visualising Nelder-Mead optimazation processes to find brightest points on a source image or to find highest/lowest points in a source function. OptiNelder was Used in the Estuaries series of works and discussed in detail in Battey, B. (2020) "Technique and Audiovisual Counterpoint in the Estuaries Series" in Knight-Hill, Andrew, Ed., Sound and Image: Aesthetics and Practices. London: Routledge.
Brownian Doughnut Warper FxPlug
A plugin for Apple Motion. Based on 3D warping of a grid plus brownian displacement of points. Used and developed in Autarkeia Aggregatum and the Luna Series, Triptych Unfolding, and The Five. Discussed in detail in “Creative Computing and the Generative Artist” (International Journal of Creative Computing 1(2-4), pp. 154-173).
Brownian Doughnut Warper OF
An Open Frameworks implementation of the Brownian Doughnut Warper, for use in realtime performance. Used in Triptych Unfolding and The Five.
A plugin for Apple Motion. Implements motion trails by writing a new frame over the previous frame, with variable transparency. It breaks the rules of usage for a tool like Motion, but since this is just for my use, who cares? Motion 5 evolved to support parallel processing with multiple GPUs, requiring even more spit-and-glue with thread locking to allow Trailz to work.
PICACS (Pitch Curve Analysis and Composition System) is software for analysis and expressive computer rendering of pitch-continuum melodies (such as those found in Indian classical music). The concepts and techniques are described in my Computer Music Journal article Bézier Spline Modeling of Pitch-continuous Melodic Expression and Ornamentation.
PICACS was prototype hackware implemented via command line control in LISP using Common Music and Common LISP Music, with links to GNUPLOT. In other words, only usable by a small fragment of the human population.
Software Projects Archive
A code snippet for use with Rick Taube's CM/Grace algorithmic composition environment configured with David Psenicka's FOMUS. Converts Standard MIDI File containing Vienna Symphonic Library articulation keyswitches to MusicXML for import into a notation program. Enables reasonable, if not great, translation into appropriate articulation markings, dynamic markings, and slurs. I created this code for my own very specific compositional purposes when composing Clonal Colonies. Using this code requires coding knowledge (LISP/Scheme) in order to adapt it to your particular purpose. It is NOT a simple, standalone solution by any means. But, for a coder, it is probably simpler to use than starting from scratch. See the enclosed README file for instructions.
Drone-a-Tron Mark IIa
A cross-platform MAX/MSP program providing virtual tamboura and harmonium instruments with customizable just intonation schemes -- for practice of Indian classical music. Available on the Drone-a-Tron page.
A set of MAX building blocks for driving the Pioneer DVD V7400 RS-232 controllable DVD players. Includes a demonstration apps, a GUI "remote control", and a copy of the DVD V7400 RS-232 protocol specification. Probably also will work to control the DVD V7200 players. All written in MAX 3.5 and 4.0 (no custom objects), so easily alterable for specific needs.
Please note that I no longer have access to a DVDV7400 player, so I am no longer able to test, debug, etc.
A set of MAX building blocks for driving the Panasonic WJ-MX20 RS-422 controllable video mixer. Includes instructions for creating a serial cable to connect a Macintosh and WJ-MX20 serial ports, a FIFO-buffered sender routine, demonstration apps, a GUI "remote control", and a copy of the WJ-MX20 RS-422 protocol specification. Could probably be easily altered to control other Grass Valley Group Protocol 100 (GVG-100) controllable video mixers. All written in MAX 3.5 and 4.0 (no custom objects), so easily alterable for specific needs.
Please note that I no longer have access to a WJMX20 mixer, so I am no longer able to test, debug, etc.
AECM – Animation Extension to Common Music
An extension to Rick Taube's Common Music 1.4 environment allowing it to export MaxScript animation script files for the 3D Studio Max 2.5 computer animation software. Used in the creation of Writing on the Surface. (The code has not been updated to current versions of Common Music or 3D Studio Max.)