Chapter 4. Tutorial 4: PathVoices and PathSets

Table of Contents
4.1. PathVoices and voiceType
4.2. Creating, Selecting, and Viewing PathVoices
4.3. Copying and Removing PathVoices
4.4. Editing PathVoices
4.5. Analyzing and Comparing PathVoices
4.6. Viewing and Selecting SetMeasures
4.7. Analyzing and Comparing PathSets

This tutorial explores additional features of the Path useful for modeling and analyzing the Path as a collection of PathVoices (voice-leading structures) and PathSets (set-class structures). These features, while providing advanced pitch modeling tools, are not directly related to the use of Paths in Textures.

4.1. PathVoices and voiceType

In addition to functioning as a collection of Multisets, a PathInstance can also contain, sort, and edit transformations, or voice leadings, between these sets. Voice leadings between sets are designated by maps. A map describes the movement between two sets. A MapClass defines each possibility of movement. For example, between two 3-element sets there are six different maps. Each map, when applied to the origin and destination Multiset, produces a unique voice leading. The series of maps selected for a Path is called a PathVoice.

When working with PathVoices in athenaCL, each member of a Multiset is taken to represent a voice. When viewing PathVoices, sets are represented vertically from top to bottom in the order entered.

For efficiency, voice leadings are not permitted to exceed six voices. If a Path has a Multiset with more than six pitches no PathVoice operations will be permitted, though it can still be created and used in all other contexts. In order to identify the relationship between the size of Multisets and available PathVoice operations, each Path has a "voiceType" that defines three states. A voiceType of "none" designates a Path that has any Multiset with more than six elements, or consists only of a single Multiset. PathVoice operations are not available on Paths of this type. A voiceType of "map" designates a Path in which each Multiset has six or fewer elements and the number of elements in each Multiset is not the same. A voiceType of "part" designates a Path in which each set has six or fewer elements, and each Multiset has the same number of elements.