Interactive Composition Lexicon

A common vocabulary for describing the extended capabilities and concepts required for the creation and performance of Interactive Audio Environments (I.A.E.'s).

Defining a common vocabulary will allow composers, sound designers, producers, game designers, game programmers, sound driver programmers, and hardware companies to work together in:

This vocabulary will hopefully provide a means to effectively communicate the form and behavior of I.A.E.'s during all phases of product development in a comprehensive, unambiguous, and implement able fashion.

Our terminology to date is divided into two types; General and Specific. The General Terminology is very broad in scope and, in some senses, temporary. I say temporary because it addresses concepts that have far reaching implications in the discussion of I.A.E.'s that we are not able to address comprehensively at this time. They are referenced here because it was necessary to (somewhat arbitrarily) set these definitions at the outset, without much discussion, so that we could have a common point of departure for the discussion of Specific Terminology. As we progress further into the ICWG's next task, that of defining 'Driver Services' and functionality, these terms will be revisited and most likely re-defined. The Specific Terminology, on the other hand, is more narrow in scope. It attempts to define enough of the primitive parts and basic concepts of I.A.E.'s so that a discussion of interactive sound driver services and functionality can proceed in a common language. We feel that the Specific Terminology bellow is final as of this time and will be adopted for all further ICWG discussions. Additional documentation and examples of this terminology will be posted here soon for downloading.

General Terminology

Interactive : any media experience in which progress through the media is determined in some fashion by the experiencer.

Audio : sound in a broad enough sense to include (in any combination):

I.A.E: Interactive Audio Environment: A logical grouping of audio data in which progress through the data is determined in some fashion by the experiencer. (more detail below)

Service: a type of interactive functionality to be provided in real-time by an I.A.E. playback mechanism.

Stream: any logical grouping of sound data within and I.A.E. that occurs over time and can be acted upon discretely by a Service

Intra-stream: a level of I.A.E. functionality that describes manipulations of Streams that do not alter the data within the Stream. (i.e.branching, muting, over-all volume changes, tempo, etc...)

Inner-stream: a level of I.A.E. functionality that describes manipulations of Streams that do alter the data within the Stream. (i.e. harmonic transposition, rhythmic manipulation, etc....)

Specific Terminology

Segment: any logical set of audio data that plays over time. Examples would be a 'one shot' sound effect, stereo Redbook audio file, a single MIDI channel MIDI file, a multi channel MIDI file, a multi-channel digital audio file... etc.... Segments' may overlap freely in time.

Track: a logical subdivision of data within a Segment.

Example: If a system were to use MIDI channels to separate data within a Segment then:

Example: If a system were based upon the playback of multi channel digital audio, then:

Interactive Audio Environment: The entire group of Segments that one wishes to consider at any given time.

Structure: The underlying logical framework around which an I.A.E. is constructed (if one exists). In some cases this might be a chord chart that defines the harmonic progression of an I.A.E.. In others, it might be a rhythmic grid that defines the Polling Interval (see below) or the IL algorithm (see below) that defines how to choose which Segment to play next from a Pool. (1)

Pool: A logical set of Segments within a I.A.E.. Pools are most often defined by a certain functionality or role such as Segments of music data for the percussion instruments that can be strung together to create the rhythm bed for an I.A.E..

Group: A logical set of Tracks within a Segment. Groups are most often defined by a certain functionality or role such as Groups of Tracks that can be played by the guitar instrument.

Path: A logical or defined progression through a Pool or Group . A Path or Paths can be preset or generated on the fly.

Polling Interval: The interval between navigation/decision making points in the logic scheme.

GameState: An arbitrarily, pre-defined, gameplay condition that can be detected by the game program or the music driver. (Examples: player has died, player achieves a goal, player enters the blue room, player is in peril, player is in combat, etc....)

IL (interactivity logic): The scheme by which 'the application' decides 'what to do' in a given situation

It is the ICWG's express goal to define the 'standard' mechanisms and the driver services needed to create I.A.E.'s, not to define rigorous standards for how interactivity is to be integrated creatively into any given sound design. Therefore, this definition is purposefully broad and non specific. It will be up to the creator to define the unifying principle or axis around which any given I.A.E. will be designed and function.