A Virtual Score Software Platform for Ensemble Improvisation with a Conductor
Download | Examples

Download Indra (v0.9.6)

Quick Start Guide (for Performers)
User Manual (for Composers and Conductors)
Technical Paper (from the TENOR 2021 Conference Proceedings)

Installation Instructions
1. Download the latest version of Max (Cycling ’74). (You do not need to purchase a license to run Indra.)
2. Use the download link above to save Indra to your computer (Mac or PC). Unzip the file.
3. Open Max and add the folder or directory where you saved Indra to the File Preferences. (Options -> File Preferences; use the + button to add, making sure the Subfolders box is ticked.)
4. Download the bach, cage, dada, odot, and zero packages from the Package Manager. (File -> Show Package Manager.)
5. Open the appropriate patch in the Indra folder: composer, conductor, or performer.

Additional Collections
Download additional collections (compositions) here. Unzip and copy to Indra folder.
AllKeysOneBar (Large sample collection by Drake Andersen)
GreenPhases (Composition by Drake Andersen)

Version History

Media Examples

In this brief performance with Indra, the conductor creates a chord by choosing which notes will be played on the computer. The selected notes appear on the performers’ screens at different times, exhibiting a variety of octaves, techniques, and dynamics. Over time, the conductor changes which notes are selected, gradually transforming the harmony.

Jordan Dodson, guitar; Ben Larsen, cello; Jude Traxler, piano and percussion; Drake Andersen, conductor; Kevin Sikorski, video

Indra is a platform, not a composition, meaning that it can be used for many different types of music and performance. For example, Indra can be used to perform new compositions, or to discover new ways to play familiar works using improvisation and indeterminacy. In the clip below, a trio gives an improvisatory rendition of the second movement of Beethoven’s first string quartet.

Jordan Dodson, guitar; Ben Larsen, cello; Jude Traxler, piano and percussion; Drake Andersen, conductor; Kevin Sikorski, video

During rehearsals and performances, the conductor and performers are linked over a wireless network, allowing the conductor to transform the notation the performers see in real time. The conductor guides the ensemble by choosing general musical qualities, like the key, density, or dynamics. The software translates these general qualities into specific notations that the performers interpret in real time. This structure gives the conductor maximum flexibility, while also ensuring that no two performances with Indra are alike–even when playing the same composition back-to-back!

A flowchart for making music with Indra.

Compositions in Indra are called collections, and are made up of many short fragments of notation called clips. Each clip is tagged with metadata that describes its musical qualities, including pitch, register, key, articulation, duration, and other qualities. Metadata can be generated automatically by the software, or the composer can assign clips custom tags. During the performance, the conductor uses filters to select clips according to various musical properties, such as range, key, and duration.

The conductor’s interface in Indra, with filters for pitch range, key, density, and pitch class visible below.

Once performers sign on to the network, all they have to do is play. The performer patch displays a steady stream of clips on screen alongside dynamics, tempo and timing indications, and even instant messages from the conductor for troubleshooting.

Excerpts from two performances of Spring Flow by Drake Andersen using Indra. First performance: Kallie Ciechomski, viola; Ensemble Sans Maitre; Drake Andersen, conductor. Second performance: Kallie Ciechomski, viola; Mike Perdue and Jude Traxler, percussion; Drake Andersen, live electronics and conductor.

Performers can change their transpositions and clefs on the fly, and use the Practice Mode to shuffle through clips before rehearsal. The conductor can change the clips played by each performer individually, or send the same message to any grouping within an ensemble. Performers can also be instructed to improvise or tacet for variation in the musical texture.

The performer’s interface in Indra, with the currently playing clip at top and the next clip previewed below.

Creating a collection in Indra is easy to do. Composers can use the native interface in Indra (with the help of the bach objects) to create clips, or import images and MusicXML files from the notation software of their choice. Metadata is automatically generated from imported notation, streamlining the composer’s workflow.

Creating clips using the composer’s interface in Indra.