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 balancedbit generator designed to be swapped into situations which would otherwise employ standard random number generation.
The special method of statistical feedback was first employed in my 1983 computercomposed 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).
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 nonprogrammers
to assemble compositional processes from software units. The unit type AGGREGATE
applied the minimax principle
to selecting collections of elements by favoring collections whose worstcase 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.
The third variant of statistical feedback is the balancedbit 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 balancedbit 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. Balancedbit 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.
P_{k}  

P_{k2}  P_{k1}  E4  F4  G4  A4  B4  C5  D5 
E4  F4  X  X  X  X  X  
E4  G4  X  
E4  A4  X  
E4  B4  X  
E4  C5  X  
E4  D5  X  
F4  E4  X  X  X  X  X  
F4  G4  X  X  X  X  X  
F4  A4  X  
F4  B4  X  
F4  C5  X  
F4  D5  X  
G4  E4  X  
G4  F4  X  X  X  X  X  
G4  A4  X  X  X  X  X  
G4  B4  X  
G4  C5  X  
G4  D5  X  
A4  E4  X  
A4  F4  X  
A4  G4  X  X  X  X  X  
A4  B4  X  X  X  X  X  
A4  C5  X  
A4  D5  X  
B4  E4  X  
B4  F4  X  
B4  G4  X  
B4  A4  X  X  X  X  X  
B4  C5  X  X  X  X  X  
B4  D5  X  
C5  E4  X  
C5  F4  X  
C5  G4  X  
C5  A4  X  
C5  B4  X  X  X  X  X  
C5  D5  X  X  X  X  X  
D5  E4  X  
D5  F4  X  
D5  G4  X  
D5  A4  X  
D5  B4  X  
D5  C5  X  X  X  X  X 
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 decisionmaking 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 pitchselection 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 nowfamiliar values in Table 1, and that we also wish to to continue observing the constraints developed in the Markov scenario for Chapter 6
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.
Position  Source  Values  E4  F4  G4  A4  B4  C5  D5  Selection 

Weights  0.085  0.155  0.174  0.173  0.174  0.155  0.085  
0  Usage  0  0  0  0  0  0  0  G4  
Preference  12.64  6.723  5.872  5.979  6.310  6.462  12.91  
1  Usage  0.822  0.822  4.931  0.822  0.822  0.822  0.822  A4  
Preference  12.06  6.248  11.22  5.194  5.131  5.826  11.55  
2  G4 A4  Usage  1.648  1.648  1.648  1.648  1.648  B4  
Preference  10.99  4.965  4.471  5.165  10.83  
3  A4 B4  Usage  2.470  2.470  3.283  2.470  2.470  F4  
Preference  9.630  4.071  9.120  4.003  9.950  
4  B4 F4  Usage  2.360  G4  
Preference  8.683  
5  F4 G4  Usage  4.215  1.571  1.538  4.215  4.215  C5  
Preference  8.441  7.782  7.761  2.785  8.182  
6  G4 C5  Usage  0.616  B4  
Preference  6.780  
7  C5 B4  Usage  5.959  0.499  5.547  0.173  5.959  A4  
Preference  6.363  6.960  11.34  5.815  6.216  
8  B4 A4  Usage  6.786  0.328  4.720  0.328  6.786  D5  
Preference  5.247  6.682  10.48  6.578  5.899  
9  A4 D5  Usage  2.010  C5  
Preference  4.703  
10  D5 C5  Usage  9.391  2.933  2.115  2.182  2.115  E4  
Preference  3.312  4.167  8.376  8.066  8.421  
11  C5 E4  Usage  4.615  F4  
Preference  2.394 
S_{G4,1} = S_{G4,0} + 

= 0 + 

= 5.747 
Θ_{p,k} = S_{p,k1} + 

Θ_{B4,2} = 1.648 + 

= 4.471 
Position  Length  Content  Summary  E4  F4  G4  A4  B4  C5  D5 

0  48 
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  Counts  4  8  8  8  8  8  4 
Proportions  0.0833  0.167  0.167  0.167  0.167  0.167  0.0833  
0  12  G4 A4 B4 F4 G4 C5 B4 A4 D5 C5 E4 F4  Counts  1  2  2  2  2  2  1 
Proportions  0.0833  0.167  0.167  0.167  0.167  0.167  0.0833  
6  12  B4 A4 D5 C5 E4 F4 G4 B4 A4 C5 B4 F4  Counts  1  2  1  2  3  2  1 
Proportions  0.0833  0.167  0.0833  0.167  0.250  0.167  0.0833  
12  12  G4 B4 A4 C5 B4 F4 G4 A4 E4 F4 D5 C5  Counts  1  2  2  2  2  2  1 
Proportions  0.0833  0.167  0.167  0.167  0.167  0.167  0.0833  
18  12  G4 A4 E4 F4 D5 C5 G4 A4 B4 C5 F4 G4  Counts  1  2  3  2  1  2  1 
Proportions  0.0833  0.167  0.250  0.167  0.0833  0.167  0.0833  
24  12  G4 A4 B4 C5 F4 G4 A4 B4 D5 C5 E4 F4  Counts  1  2  2  2  2  2  1 
Proportions  0.0833  0.167  0.167  0.167  0.167  0.167  0.0833  
30  12  A4 B4 D5 C5 E4 F4 G4 B4 A4 F4 G4 C5  Counts  1  2  2  2  2  2  1 
Proportions  0.0833  0.167  0.167  0.167  0.167  0.167  0.0833  
36  12  G4 B4 A4 F4 G4 C5 B4 A4 E4 F4 D5 C5  Counts  1  2  2  2  2  2  1 
Proportions  0.0833  0.167  0.167  0.167  0.167  0.167  0.0833 
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 12member subsequences. The results presented here bear comparison with the most statistically conformant pitchselection 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 12member 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 twopart 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 playrest 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: 20170312  Last updated: 20170312 