Java (jdk1.6.0_06)
Java Advanced Imaging (JAI)
Java Image I/O (JAI)
Java Media Framework (JMF)


MySQL Connector/J (JDBC driver for MySQL.)

Trees in SQL databases; Eugene Lepekhin (2004)
A Model to Represent Directed Acyclic Graphs (DAG) on SQL Databases; Kemal Erdogan (2008)
General trees persisted in relational databases; Daniel Aioanei and Adi Malinaru (2003)
Managing Hierarchical Data in MySQL;Mike Hillyer

Munsell Renotation Data


Euterpe (musical unicode font): used to display notes and other musical entities.

Sagittal Fonts: a beautiful set of microntonal accidentals.

JFugue: a simple and powerful way of representing musical events as a string which can be parsed and converted into midi. Handles microtonality and many basic musical elements. Also provides the ability to specify midi controler events. A great tool for experimentation. Very flexible and easy to use. Really nothing else quite like it out there.

Gervill: software synthesizer. Used to load soundbanks.

ChoriumRevA.SF2 (sound font)



Blender: used to create 3D images which can be saved as obj files that can be loaded by Java3D and assigned to branchgroups. Also used to convert images created with other software to obj files

FFmpeg: used to create an animation from a sequence of jpg's and to merge that animation with an audio file. This turned out to be more accurate, more efficient and more flexible then handling these steps from within java.

Fibonacci numbers and trigonometric identities; N. Garnier, O. Ramar (2006)