Robert Rowe MACHINE MUSICIANSHIP
Machine Musicianship Robert Rowe The MIT Press Cambridge, Massachusetts London, England
Machine Musicianship
2001 Massachusetts Institute of Technology All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher. This book was set in Melior by Achorn Graphic Services, Inc., and was printed and bound in the United States of America. Library of Congress Cataloging-in-Publication Data Rowe, Robert. Machine musicianship / Robert Rowe. p. cm. Includes bibliographical references and index. Contents: Machine musicianship Symbolic processes Sub-symbolic processes Segments and patterns Compositional techniques Algorithmic expression and music cognition Interactive improvisation Interactive multimedia Installations Directions. ISBN 0-262-18206-8 (hc. : alk. paper) 1. Artificial intelligence Musical applications. 2. Music Computer programs. 3. Real-time programming. 4. Computer composition. I. Title. ML74.R68 2001 780.285 dc21 00-038699
Contents Acknowledgments ix 1 Machine Musicianship 1 1.1 The Motivation for Machine Musicianship 3 1.2 Algorithmic Composition 6 1.3 Algorithmic Analysis 8 1.4 Structure of the Text 12 1.5 Machine Musicianship Library 14 2 Symbolic Processes 17 2.1 Chord Theory 18 2.1.1 Triad Classifier 19 2.1.2 Representations 28 2.1.3 MIDI Chord Recognizer 33 2.1.4 Chord Spelling 42 2.2 Context Sensitivity 46 2.2.1 Virtual Pitch 47 2.2.2 Determination of Chord Type 58 2.3 Key Induction 60 2.3.1 Interaction with Key Induction 60 2.3.2 Parallel Processing Model 66 2.4 C and Object Orientation 77 2.4.1 The Note Class 77 2.4.2 The Event Class 80 2.4.3 The Listener Class 85 2.4.4 The ListenProp Class 89
Contents vi 3 Sub-symbolic Processes 93 3.1 Neural Networks 93 3.1.1 Neural Network Key Induction 98 3.1.2 Sequential Neural Networks 101 3.2 Time Structures 110 3.2.1 Quantization 112 3.3 Beat Tracking 122 3.3.1 Multiple Attractors 125 3.3.2 Adaptive Oscillators 130 3.3.3 Meter Induction 135 3.4 Max Externals 139 4 Segments and Patterns 145 4.1 Segmentation 145 4.1.1 Grouping Preference Rules 146 4.1.2 Gestalt Segmentation 161 4.2 Pattern Processing 168 4.2.1 Dynamic Programming 170 4.2.2 Intervallic Representation 176 4.2.3 Segmentation and Matching 182 4.2.4 Pattern Processors 187 4.3 Auditory Models 191 4.3.1 Auditory Input and Self-Organizing Maps 192 5 Compositional Techniques 201 5.1 Generation Techniques 203 5.1.1 Selection Principles 204 5.2 Score Following and Algorithmic Signal Processing 212 5.2.1 Pitch Tracking 214 5.2.2 Jupiter 215 5.2.3 Spectral Analysis and Control of Interaction 221 5.2.4 Rhythmic Effects in Improvisation 227 5.3 Standard MIDI Files 232
Contents vii 6 Algorithmic Expression and Music Cognition 235 6.1 Music Cognition and Machine Musicianship 235 6.1.1 Expert Systems 237 6.2 Knowledge Representation 241 6.2.1 Schemata 241 6.2.2 Scripts and Plans 245 6.3 Learning 246 6.3.1 Genetic Algorithms 248 6.3.2 Artificial Agent Societies 258 6.4 Expressive Performance 264 6.4.1 Rule-Based Systems 265 6.4.2 Learning Expression 270 7 Interactive Improvisation 277 7.1 Sequences in Improvisation 279 7.1.1 SeqSelect 280 7.2 Influence on Improvisation Processes 287 7.3 Transformation in Improvisation 297 7.4 Player Paradigm Systems 301 7.5 Ensemble Improvisation 308 7.5.1 Multiple Cypher 310 8 Interactive Multimedia 317 8.1 Intimate Immensity 319 8.1.1 Interactor 321 8.2 A Flock of Words 325 8.2.1 Woids 330 8.3 In Transit 334 8.3.1 Style Recognition 334 8.3.2 Chord Selection and Voicing 338 8.4 Multimedia Improvisation 343 8.4.1 Controllers 343
Contents viii 8.4.2 Composition Techniques 346 8.4.3 Continuous Controls 351 9 Installations 355 9.1 Multimedia Installations 355 9.1.1 Audio and Imagery 356 9.1.2 Large-Scale Interaction 360 9.2 Animated Improvisation 362 9.2.1 Improvisation with Scales 365 9.2.2 Improvising Melodic Lines 370 9.3 Multimodal Environments 372 10 Directions 377 10.1 Research Synergy 377 10.2 Research Directions 378 References 381 Index 393
Acknowledgments A text like this is never complete I encounter new material that relates to it daily. My only comfort is that such a book is not and could never be comprehensive. To my knowledge, easily twice as many projects could have been included. I cannot claim methodological rigor in selecting which things received considerable attention, or little or none. Of course, I wrote most about the things I know best. Another main reason for including something was that I had access to materials articles, source code, Max patches that allowed me to document more than my impressions. All of the work referred to here was supported by material provided by composers and researchers, and I am grateful to all of them for their help. The list of names is too long to recount here; the index probably best reflects its extent. Beyond providing grist, many of these colleagues also read what I had written and helped amend my errors. Mistakes that remain, of course, are all my doing. I owe a great debt to the Music, Mind, Machine research group at the University of Nijmegen in the Netherlands. Group directors Peter Desain and Henkjan Honing invited me there for my sabbatical from New York University. I spent that time conducting research and writing this book; indeed, I could not have written it without the work I accomplished there. Many stimulating discussions with students and faculty helped hone my ideas and presentation. Particular thanks go to Richard Ashley, Dirk-Jan Povel, Piet Vos, Renee Timmers, Paul Trilsbeek, Yvonne Schouten, Hank Heijink, Huub van Thienen, Rinus Aarts, Chris Jansen, and of course Peter Desain and Henkjan Honing. The sabbatical year that led to this book was granted to me by New York University, and my experience in the Music Technology