| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
| |
Introduction | |
| |
| |
| |
SAL | |
| |
| |
| |
Lisp | |
| |
| |
| |
Nyquist | |
| |
| |
| |
The Nyquist Integrated Development Environment | |
| |
| |
| |
Algorithmic Composition | |
| |
| |
| |
Additional References | |
| |
| |
| |
The History and Philosophy of Algorithmic Composition | |
| |
| |
| |
The Process of Algorithmic Composition | |
| |
| |
| |
A Brief History of Algorithmic Processes Applied to Music Composition | |
| |
| |
| |
Aesthetics of Algorithmic Composition | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Introduction to SAL | |
| |
| |
| |
Data | |
| |
| |
| |
Running Nyquist | |
| |
| |
| |
SAL Expressions | |
| |
| |
| |
Functions | |
| |
| |
| |
Predicates | |
| |
| |
| |
User-Defined Functions | |
| |
| |
| |
Getting Help | |
| |
| |
| |
Programming Errors | |
| |
| |
| |
Error Messages | |
| |
| |
| |
Stack Traces | |
| |
| |
| |
Printing | |
| |
| |
| |
Programming and Nyquist | |
| |
| |
| |
Getting Started | |
| |
| |
| |
Nyquist Instruments | |
| |
| |
| |
Nyquist Scores | |
| |
| |
| |
Variables | |
| |
| |
| |
Score Processing | |
| |
| |
| |
Introduction to Algorithmic Composition | |
| |
| |
| |
Getting Started | |
| |
| |
| |
Pitch and Rhythm Notation | |
| |
| |
| |
Pattern Objects and Item Streams | |
| |
| |
| |
A Complete Example | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Printing, Reading, and Debugging | |
| |
| |
| |
print Command | |
| |
| |
| |
format Command | |
| |
| |
| |
display Command | |
| |
| |
| |
Debugging with #display and #print | |
| |
| |
| |
Tracing Pattern Evaluation | |
| |
| |
| |
Reading Data from the Computer Keyboard | |
| |
| |
| |
Variable Assignment and Scoping | |
| |
| |
| |
set Command | |
| |
| |
| |
begin, end, and with | |
| |
| |
| |
score-gen and Local Variables | |
| |
| |
| |
Combining with and score-gen | |
| |
| |
| |
Understanding Variable Scope in SAL | |
| |
| |
| |
Increment, Decrement, and Other Operators | |
| |
| |
| |
Assigning Local Variables Interactively | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Conditionals | |
| |
| |
| |
if Command | |
| |
| |
| |
#? Special Form | |
| |
| |
| |
Using if with begin-end | |
| |
| |
| |
Using Conditionals in Algorithmic Composition | |
| |
| |
| |
Conditionals vs. Formulas | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Sets and Tables | |
| |
| |
| |
Introduction to Set Theory | |
| |
| |
| |
List and Set Operations | |
| |
| |
| |
Tables | |
| |
| |
| |
Arrays | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Functional Programming | |
| |
| |
| |
Introduction to Functional Programming | |
| |
| |
| |
Mapping a Function over a List | |
| |
| |
| |
Using the score-apply Function | |
| |
| |
| |
Recursion | |
| |
| |
| |
Introduction to Recursion | |
| |
| |
| |
Single-Test Tail Recursion | |
| |
| |
| |
List-Cons'ing Recursion | |
| |
| |
| |
Conditional Augmenting Tail Recursion | |
| |
| |
| |
Double-Test Tail Recursion | |
| |
| |
| |
Multiple Recursion | |
| |
| |
| |
Tracing Function Evaluation | |
| |
| |
| |
SAL Is Recursive | |
| |
| |
| |
Using Recursive Forms in Nyquist | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Iteration | |
| |
| |
| |
The loop Command with a for-below Clause | |
| |
| |
| |
The Full Story of for-below | |
| |
| |
| |
Iterating over the Elements of a List | |
| |
| |
| |
Using return in a loop | |
| |
| |
| |
The for-then Clause | |
| |
| |
| |
Loops with while and until | |
| |
| |
| |
Reading and Writing Records Using Iteration | |
| |
| |
| |
score-gen as Iteration | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Algorithmic Composition Using Probabilistic Methods | |
| |
| |
| |
Introduction to Probability | |
| |
| |
| |
The random Pattern | |
| |
| |
| |
Graphs and Patterns | |
| |
| |
| |
The markov Pattern Generator | |
| |
| |
| |
Patterns Can Specify Next States and Weights | |
| |
| |
| |
Learning a Markov Process | |
| |
| |
| |
1/f<sup>2</sup> Noise or Brownian Motion | |
| |
| |
| |
1/f Noise | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Hierarchical and Recursive Musical Structure | |
| |
| |
| |
Structure from Nested Patterns | |
| |
| |
| |
Hierarchy in Scores | |
| |
| |
| |
Encapsulation | |
| |
| |
| |
Compositional Environments | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Composing Sonic Microstructure and Macrostructure | |
| |
| |
| |
Sound Synthesis in Nyquist | |
| |
| |
| |
A Pattern-Driven Sound Generator | |
| |
| |
| |
Nyquist Sounds and Scores | |
| |
| |
| |
Nyquist Sounds and Global Control Functions | |
| |
| |
| |
Scores and Global Control Functions | |
| |
| |
| |
Further Explorations | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Extended Examples s | |
| |
| |
| |
Jellyfish Music Example | |
| |
| |
| |
Orchestration | |
| |
| |
| |
Text to Music | |
| |
| |
| |
Suggested Listening | |
| |
| |
| |
Epilogue | |
| |
| |
Appendix SAL Commands and Functions | |
| |
| |
Commands | |
| |
| |
Functions | |
| |
| |
Bibliography | |
| |
| |
Discography | |
| |
| |
Index | |