UNIVERSITY of CALIFORNIA, SAN DIEGO Musical
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITY OF CALIFORNIA, SAN DIEGO Musical Pulse Tracking Algorithms and Applications A thesis submitted in partial satisfaction of the requirements for the degree Master of Arts in Music by Ian Arnold Saxton Committee in charge: Professor Miller Puckette, Chair Professor Edwin Harkins Professor Rand Steiger 2008 Copyright Ian Arnold Saxton, 2008 All rights reserved. The thesis of Ian Arnold Saxton is approved and it is acceptable in quality and form for publication on microfilm and electronically: Chair University of California, San Diego 2008 iii DEDICATION To my dear friend Brandon Sutter, an ardent explorer and drummer extraordinaire. iv TABLE OF CONTENTS Signature Page............................................ iii Dedication.............................................. iv Table of Contents..........................................v List of Figures............................................ vii List of Tables............................................ viii Acknowledgements........................................ ix Abstract of the Thesis....................................... xi Chapter 1. Rhythm Theory....................................1 1.1. Abstract Rhythm Sequences............................1 1.2. Pulse and Periodicity.................................2 1.3. Metric Structure....................................2 1.4. Rhythm Representation...............................6 1.4.1. Counting....................................6 1.4.2. Additive Rhythm..............................7 1.4.3. Western Notation..............................8 1.5. Polyrhythm.......................................8 Chapter 2. Beat Tracking Background and Theory.................... 13 2.1. Human Pulse Inference............................... 13 2.2. Models of Beat Tracking.............................. 14 2.3. Computer Beat Tracking............................... 15 2.3.1. Types of Input................................ 16 2.4. Summary of Existing Approaches........................ 17 2.4.1. Timespan Clustering............................ 18 2.4.2. Audio Feature Analysis.......................... 18 2.4.3. Spectral Analysis.............................. 19 2.4.4. Multiple Agents With Credibility Heuristics............. 20 2.5. Applications for Beat Tracking.......................... 22 2.5.1. Rhythmic Analysis of Audio Samples................. 23 2.5.2. Rhythmic Modifications.......................... 23 2.5.3. Responsive Computer Accompaniment................ 24 2.5.4. Stage Synchronization........................... 25 v Chapter 3. Implementation of a Pulse Tracker....................... 26 3.1. Phase Consistency Pulse Tracker......................... 26 3.2. System Description.................................. 29 3.2.1. Evaluation Framework........................... 29 3.3. Testing Strategy.................................... 31 3.3.1. Labeled Examples.............................. 31 3.3.2. Synthetic and Performed Examples................... 31 3.3.3. Error Metrics for Predicted Pulse Sequences............. 32 3.3.4. Synthetic Rhythm Generation...................... 33 3.4. Results.......................................... 34 3.4.1. Generated Examples............................ 34 3.4.2. Performed Examples............................ 40 Chapter 4. A Pulse Aware Looping System......................... 46 4.1. Background....................................... 46 4.1.1. Pulse-Awareness............................... 47 4.1.2. Multi-Channel Looper........................... 48 4.1.3. Loops of Different Length......................... 49 4.1.4. Pulse Awareness and Advanced Loop Timing Techniques.... 49 4.2. A Pulse-Aware Multi-Metric Looper....................... 50 4.2.1. Overview................................... 50 4.2.2. Functionality................................. 51 4.2.3. Control Strategies.............................. 53 Chapter 5. Conclusion....................................... 58 References.............................................. 60 vi LIST OF FIGURES Figure 1.1: A five over three polyrhythm........................... 11 Figure 3.1: Calculating average phase in the complex domain............. 28 Figure 3.2: Screenshot of the parameter editor window.................. 30 Figure 3.3: Error as a function of acceleration........................ 36 Figure 3.4: Error as a function of randomization...................... 37 Figure 3.5: Error as a function of swing............................ 38 Figure 3.6: Error as a function of tempo............................ 39 Figure 3.7: Error as a function of density........................... 40 Figure 3.8: Analysis of Performed Example 1....................... 43 Figure 3.9: Analysis of Performed Example 2....................... 44 Figure 3.10: Analysis of Performed Example 3...................... 45 Figure 4.1: A keyboard-based loop system controller................... 54 vii LIST OF TABLES Table 3.1: Error values for analysis of performed rhythms............... 42 viii ACKNOWLEDGEMENTS I would like thank Miller Pucketette, Edwin Harkins, Tom Erbe and Rand Steiger for their support of this thesis project. I was lucky to have committee members who took the time for in-depth discussion about the central and peripheral aspects of my topic. I would also like to thank my other teachers at U.C. San Diego, whose instruction has widened my perspective on music and technology. They include Richard Moore, Shlomo Dubnov, Diana Deutsch, Gerald Balzano, Mark Dresser, Philippe Manoury, John Fonville, Anthony Davis, Eileen Troberman and David Borgo. I would like to thank Roger Reynolds, who has demonstrated a deep commitment to the integration of compositional and technological perspectives. Thanks to Steve Schick for his inspiring approaches to percussion, instruction and collaborative interaction. Thank you to staff at the Center for Research in Computing and the Arts at UC San Diego for support and facilities, especially Todd Margolis, Helena Bristow and Carolyn Staggs. Thank you to the UC San Diego division of Calit2 for their support. This work has been possible only because of support from the amazing people in my life. I deeply appreciate the generosity and love that has been shown to me. First of all, thank you to my parents Owen and Barbara for bringing me into this world. I am also very grateful for the sacrifice they made when they purchased my first drum set, as they were surely aware that the noise would never stop. Thank you to my brother David for putting up with me, and for growing up to be such amazing musician and human being. Thank you to all of my family, in both America and Australia. I would like to thank the friends who have been a part of my musical journey: Gabe and Ben Anjo, Travis Thornton, Jesse Canchola, Brandon Sutter, Greg Jenkins, Benjamin Irwin, Daniel Wright, Mikey Siegel, Stephen Wright, Eric Marchuck and many others. Thank you to my drum teachers Jim Kassis, Justin Markovitz, George Marsh, William Winant and Morris Palter. Thank you to my music teachers from U.C. Santa Cruz, including Benjamin Carson, Paul Nauert, David Cope and Peter Elsea. I would like to thank my fellow music graduate students for creating a collaborative at- ix mosphere: Kevin Larke, Jaime Oliver, Jose Ignacio Lopez, Joachim Gomann, Grace Leslie, Ben Hackbarth, Rick Snow, Adam Wilson, William Brent and Cristyn Magnus. Thank you to those that supported me during the final stages of my work on this project: Joachim Gomann, Amanda Tabor, Chris Tonelli, Ben Hackbarth and Justin DeHart. x ABSTRACT OF THE THESIS Musical Pulse Tracking Algorithms and Applications by Ian Arnold Saxton Master of Arts in Music University of California, San Diego, 2008 Professor Miller Puckette, Chair This thesis explores the topic of musical pulse tracking and applies related tech- niques to the design of a pulse-aware looping system. The beginning chapter introduces the basic concepts of rhythm theory that provide a foundation for the discussion of pulse inference and advanced rhythmic techniques in a looping system. Next, the basic vari- eties of pulse-tracking algorithms are explained in relation to previous research, and a number of musical applications are identified. This leads into the discussion of a pulse tracking algorithm implemented by the author, which systematically varies the pulse period to find a candidate based on a phase-consistency score. An offline testing en- vironment for quantifying and visualizing the behavior of event-based pulse-tracking algorithms is presented. After developing a testing strategy, the results from analysis of synthetic and performed examples are presented and discussed. Finally, the discussion turns to the author’s design of a multi-channel pulse-aware looping system written in C++. It takes advantage of knowledge about pulse positions, allowing a user to quantize and sequence commands in relation to metric time units. The system can stay syn- xi chronized with a performer during changes in tempo, and the design includes features enabling exploration of advanced rhythmic concepts, such as multi-period cycles, poly- rhythmic tempo relationships and acceleration-based phasing effects. xii Chapter 1 Rhythm Theory Temporal considerations are of primary importance in music. At the most fun- damental level, sound is defined by time varying patterns of acoustical pressure. At a higher level, musical events unfold in a particular order. Music cannot be separated from this sequential nature; it cannot be conceived without the element of time. (Lester, 1986) This chapter presents a summary