NLN Live is a system for non-linear composition and live performance, as it enables an orchestra to play a dynamic score which is driven by a live input from a controller like a game. Effectively performing a live version of a game score, where the progression of the piece is following the gameplay in real-time.

The application allows a composer to upload and arrange a musical score in a graph like structure describing what parts of the composition can follow each other, and apply a set of rules to this structure.

During the performance the players use a tablet device for reading their score. All tablet are connected to system which updates the scores in realtime during the performance.

I have developed the application for the HKU Sonic Interaction Lab. It is designed as web application using a Node.js back-end with a React.js & Flux-like framework for the front-end.

The application features a build in graph editor and visualization based on dot syntax. During live performance the system calculates the possible shortest paths in the graph to go from the current game state to the next following the rules of the composition. For pathfinding we used a modified version of the Dijkstra algorithm.