Chapter 7
Conditional Selection II: Cumulative Feedback

The typescript for chapter 7 is provided in AutomatedComposition07.pdf.

“Cumulative feedback” is the term my 1984 typescript uses to describe a technique of keeping resources in balance. My 1986 article, “Two Pieces for Amplified Guitar” rechristened the same technique “statistical feedback”. This technique conforms a population of choices to a weighting scheme or distribution. As contrasted with weighted random selection, however, statistical feedback is fundamentally determinate. There are three variants, a special method for single choices (e.g. choosing pitches for notes), a general method for choosing aggregates (e.g. choosing between chords), and a balanced-bit generator designed to be swapped into situations which would otherwise employ standard random number generation.

Special Method

The special method of statistical feedback was first employed in my 1983 computer-composed piece, Undulant for seven instruments. The mechanics of generating this piece were explained in my Interface article, “Notes on Undulant”. The article relates that the each instrument's total playing time is approximately the same, and the profile of which instruments play when (Figure 1 on p. 508) shows that the various ensemble sizes are spaced fairly evenly over the total duration. For example, every fourth section is a trio with just three exceptions — and those exceptions average out. What the article does not explain is that whether a section should be a solo, duet, trio, etc. was decided by which ensemble size had the smallest cumulative duration up to that point (subject to constraints). Which instrument should play during which sections was decided in a second pass, and the criterion was likewise which instrument(s) had the smallest cumulative playing time (again subject to constraints).

General Method

Lejaren Hiller's composition Circus Piece, one of the suite of projects created for the U.S. Pavilion at Expo '85 in Tsukuba, Japan, used general statistical feedback to select musical fragments, which were assembled into a pastiche. To present this, Bob Franki developed animated graphics, which popped up an image of each fragment as it was played in performance. A snapshot of this graphic was reproduced in Perspectives of New Music. Further implementation details about the composing program developed by myself according to Hiller's specifications (only it was my idea to employ statistical feedback in place of free randomness) appear in the 1985 ICMC Proceedings. A Kurzweil 250 realization of Hiller's composition is available on this site in MP3 format.

The general method of statistical feedback was subsequently implemented in COMPOSE, an application in the tradition of Koenig's Project Two which allowed non-programmers to assemble compositional processes from software units. The unit type AGGREGATE applied the minimax principle to selecting collections of elements by favoring collections whose worst-case statistics were minimal. AGGREGATE is presented in “Quantifying Musical Merit” as an example of a “uniform merit function”, and the method's mechanics are explained on p. 66. The general method of statistical feedback is the only heuristic technique explicitly implemented within my 2011 production framework, and it was upon this framework that this site's Statistical Feedback demonstration was built.

Balanced-Bit Generator

The third variant of statistical feedback is the balanced-bit generator. This generator is described on p. 61 of my Catalog of Sequence Generators where its ability to produce uniformity in the short term is illustrated through histograms. I assert here that a sequence of N balanced-bit samples will be as evenly spaced from zero to unity as N samples can be, and that if you space N values from zero to unity and then shuffle them randomly, the result will be no better. Balanced-bit sequences would seem to provide superior performance in applications of fuzzy logic, although I doubt anybody working in that field is aware of this technology.

Table 2: Constraint Matrix for


Wikipedia defines a heuristic as a “practical method not guaranteed to be optimal or perfect, but sufficient for the immediate goals.” In my writing about composing programs, the word heuristic refers more specifically to a decision-making technique by which the relative merit (alternatively demerit) of each available option is expressed quantitatively. This makes it possible to rank the options by preference. The options may also be winnowed through the enforcement of constraints. Among the options which survive winnowing, the option with the most merit (or alternatively the least demerit) is the option selected.

Statistical feedback is an exemplar of heuristic selection. It assumes a sequence of decisions which all draw from the same supply of options. Here the merit accorded to an option reflects how far that particular option lags behind its fair share of usage.

The selection model adopted in this chapter resembles Project Two to the extent that decisions pertaining to a specific musical attribute all draw from the same supply of options. However, Project Two has no selection feature implementing statistical feedback.

We return one more time to the pitch-selection scenarios begun in the summary for Chapter 4. Suppose we wish to select from the pitch supply E4, F4, G4, A4, B4, C5, and D5, that we wish the distribution of pitches to conform to the now-familiar values in Table 1, and that we also wish to to continue observing the constraints developed in the Markov scenario for Chapter 6

 Weight 0.0850.1550.1740.1730.1740.1550.085
Table 1: Pitch-selection weights.

I have coded a process using the method of statistical feedback to select pitches according to the weights provided by Table 1 and subject to the constraints enumerated in Table 2. Table 3 details quantities calculated during this process, and used to decide which pitch to choose next. The information is limited to the first twelve sequence elements, but that is well enough to get the idea across.

2G4 A4Usage-1.648-1.648-1.648-1.648-1.648B4
3A4 B4Usage-2.470-2.4703.283-2.470-2.470F4
4B4 F4Usage2.360G4
5F4 G4Usage-4.2151.5711.538-4.215-4.215C5
6G4 C5Usage0.616B4
7C5 B4Usage-5.9590.4995.547-0.173-5.959A4
8B4 A4Usage-6.786-0.3284.720-0.328-6.786D5
9A4 D5Usage-2.010C5
10D5 C5Usage-9.391-2.9332.1152.1822.115E4
11C5 E4Usage-4.615F4
Table 3: Pitch-selection calculations used by the method of statistical feedback.
048 G4 A4 B4 F4 G4 C5 B4 A4 D5 C5 E4 F4
G4 B4 A4 C5 B4 F4 G4 A4 E4 F4 D5 C5
G4 A4 B4 C5 F4 G4 A4 B4 D5 C5 E4 F4
G4 B4 A4 F4 G4 C5 B4 A4 E4 F4 D5 C5
012G4 A4 B4 F4 G4 C5 B4 A4 D5 C5 E4 F4Counts1222221
612B4 A4 D5 C5 E4 F4 G4 B4 A4 C5 B4 F4Counts1212321
1212G4 B4 A4 C5 B4 F4 G4 A4 E4 F4 D5 C5Counts1222221
1812G4 A4 E4 F4 D5 C5 G4 A4 B4 C5 F4 G4Counts1232121
2412G4 A4 B4 C5 F4 G4 A4 B4 D5 C5 E4 F4Counts1222221
3012A4 B4 D5 C5 E4 F4 G4 B4 A4 F4 G4 C5Counts1222221
3612G4 B4 A4 F4 G4 C5 B4 A4 E4 F4 D5 C5Counts1222221
Table 4: A sequence conforming to the weights detailed Table 1.

Results from this process are presented in Table 4. The first row of this table presents a full sequence of 48 pitches with an accompanying statistical analysis. Subsequent rows analyze 12-member subsequences. The results presented here bear comparison with the most statistically conformant pitch-selection results obtained in previous chapter summaries. This happened in the summary for Chapter 5 covering the method of statistical frames.

The first thing to notice is that the counts for the 12-member subsequences never deviate by more than one from the pattern 1, 2, 2, 2, 2, 2, 1. This was the count pattern that characterized each statistical frame in the Chapter 5 results. But something more subtle is going on here:

Remember that the present process selected pitches while all along observing the constraints enumerated in Table 2, while the process in Chapter 5 was subject to no such rigor.

I regard statistical feedback as an essential technology in the sense that it achieves conformance which is superior even to selection without replacement and does so even under the duress of constraints. Indeed, I have come to regard the method as indispensible. Every composing program I have developed since Undulant makes use of it. Beyond that, I have taken some trouble to promote the method. Not the least of my efforts was to submit the article “Statistics and Compositional Balance” to that bastion of modernist compositional ethic, Perspectives of New Music. I bolstered my case with studies showing how statistical feedback could realize distributions with much smaller population sizes than those required by weighted randomness; these studies appeared a two-part article in the Leonardo Music Journal: “Thresholds of Confidence: An Analysis of Statistical Methods for Composition,” “Part 1: Theory” and “Part 2: Applications”.


The practical programming content of Chapter 7 was provided by Demonstration 5: Cumulative Feedback. The outer loop of this program employs the method of cumulative feedback to select attributes for phrases: phrase duration, average note duration, articulation, prime scale degree, and register. The inner loop of the program uses the method of cumulative feedback to select a chooser for a play-rest trial. It again uses the method of statistical frames to select an unscaled note duration (to be multiplied by the average note duration), and (for notes) a deviation around the central pitch.

© Charles Ames Page created: 2017-03-12 Last updated: 2017-03-12