Nodal (software)

Nodal is a generative software application for composing music. The software was produced at the Centre for Electronic Media Art (CEMA), Monash University, Australia. It uses a novel method for the notation and playing of MIDI based music. This method is based around the concept of a user-defined graph. The graph consists of nodes (musical events) and edges (connections between events). The composer interactively defines the graph, which is then traversed by any number of virtual players that play the musical events as they encounter them on the graph. The time taken by a player to travel from one node to another is based on the length of the edges that connect the nodes.

Supported Platforms and versions
Early versions of Nodal were designed to run only on Mac OS X. As of version 1.1 beta (released in 2005), Nodal ran on Mac OS X 10.4, and Microsoft Windows (Vista or XP) operating systems. As of version 1.5, released in November 2009, the software became shareware in order to support its continued development. The current version is 2.0, which runs on MacOS 10.15 and higher or Windows 7 and above. This version has the ability to specify combinations of chords, sequences and randomised patterns within a single node and incorporates the use of scale modes. Nodal can be downloaded from the Nodal web site. It is also available from Apple's Mac App Store.

Working with Nodal
Nodal generates MIDI data as virtual players traverse a user-defined network in real-time. It can be used as a standalone composition tool, in conjunction with Digital audio workstation (DAW) software, or played interactively in a real-time performance.

Nodal contains a built-in MIDI synthesiser and is also compatible with any hardware or software MIDI synthesiser, including all major Digital audio workstation software. Microsoft Windows versions can use the built-in Windows MIDI synthesiser. Nodal is also compatible with Apple's GarageBand software.

Prizes and awards
In 2012, Nodal was awarded the Eureka Prize for Innovation in Computer Science.