Seminars on Music in Python

Instructor: Dr. Marc Evanstein (marc [AT] marcevanstein [DOT] com)

Next Seminar Topic/Date: TBD (Purchase past seminars below)

About the Seminar Series

At a recent workshop I taught on composing music in Python, several of the participants expressed interest in me offering short, one-time seminars on different approaches to composition in Python. I found the idea exciting, because I’m always learning about and exploring new ways of coding music. In this series of seminars, I plan to cover topics such as L-systems, Markov chains, genetic algorithms, data sonification, parsing expression grammars, musical pattern generation, and any other topics that strike me as interesting! As opposed to the workshops I teach, which aim to give you a broad basis for creating music in Python, each seminar will be a deep dive into a single topic in computer-assisted composition.

Since the series was originally created with past workshop participants in mind, I’m going to assume that attendees have a working knowledge of Python and at least a little familiarity with the SCAMP libraries that I will be using. If you don’t have this background, consider signing up for my Kadenze course, or following along with some of my SCAMP tutorials on YouTube.

Past seminars

Nov 18th, 2023: Making Music from Math (Purchase Recording and Materials) In this seminar, we discuss approaches for making music from mathematical structures and patterns. Beginning with the exciting example of the Collatz conjecture, we will discuss several approaches to the challenge of mapping arbitrarily large values to finite musical ranges. Next, we will explore the possibilities of making music from functions and integer sequences. Finally, we will look at the approaches I have taken, and the code I created, in several of my YouTube videos: The Rhythm of the Primes, The Fibonacci Music Box, and Hearing Pascal’s Triangle.

Dec 17th, 2022: Algorithmic Approaches to Rhythm (Purchase Recording and Materials) In this seminar, I discuss (and model in code) Euclidean Rhythms, the rhythmic theories of Clarence Barlow, and Xenakis’ theory of sieves. This includes a fairly in-depth discuss of the creative possibilities of generator functions. The focus of these discussions is on rhythms that rest on an isochronous pulse (i.e. a steady underlying subdivision), although at the end, we explore ways of bending and distorting the rhythmic grid on which these rhythms are placed. (Note, during the live seminar, the recording failed, so this recording is a remake I did after the seminar.)

October 22nd, 2022: Data Sonification (Purchase Recording and Materials) This topic was of particular interest to me because of my 2022 collaboration with Stanford biologists Elizabeth Hadly and Allison Stegner. We start by learning to read CSV files, both manually and using the pandas library for data wrangling. The majority of the workshop, however, focuses on the question of musical mapping: What aspects of music (e.g. pitch, duration, density, phrasing, structure) can we map the data to, and what do different mappings highlight and conceal about the data? We also touch upon data pre-processing and event detection.

April 30th, 2022: L-Systems (Purchase Recording and Materials): L-systems are widely used in the visual arts for generating self-similar structures like trees and plants, but also offer a fascinating generative tool in time-based art forms like music. At its basis, an L-system consists of an alphabet of symbols and a set of transition rules, expressing how each symbol evolves on the next iteration. Of particular compositional interest is the question of mapping: what aspects of music should this alphabet of symbols represent? What emergent properties take shape when we combine this mapping with a set of transition rules?