Intermediate/Advanced Computer-Assisted Music in Python

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

Dates: February 8th – March 1st, 2025 (4 sessions total)

Schedule: Saturdays from 9:30-11:30am PST; optional office hour during the week, time TBD

Cost: $250, via this payment portal, due before the first session. Financial aid is also available; see below

Register

Description

This workshop is intended as a follow-up to some of my other teaching offerings, such as my CCRMA Summer Workshop, or micro-course on Kadenze.com. As in those courses, we will use the Python-based composition framework SCAMP (Suite for Computer Assisted Music in Python) to explore algorithmic and computer-assisted music. Since this is not a beginner course, some degree of background both with Python programming and the SCAMP framework are expected. If you are new to Python or SCAMP, I encourage you to work through the Kadenze course and/or other resources and tutorials before registering for this workshop.

One goal of the course is to will delve into intermediate topics in Python programming, such as functions, dictionaries and classes, with an emphasis on exploring the potential of each concept for musical creation. At the same time, we will explore specific capabilities of the SCAMP libraries with respect to parallelism and polytempo music, interactivity, music notation, and communication with other tools, such as Digital Audio Workstations or music programming languages like Max/MSP and SuperCollider.

As we become comfortable with Python and with the SCAMP framework, we will branch off to explore topics of particular interest interest to participants. In past workshops we have explored melody harmonization, spectral analysis, Markov chains, L-systems, microtonality, and the transformation of existing MIDI files. We migh also talk about some of my own recent explorations, such as rendering Ferneyhough-style rhythmic trees, or creating music by tracing shapes.

Ultimately, though, we will go in whatever directions are of most interest to the participants!

Financial Aid

A limited number of full scholarships will be offered specifically for women and other under-represented groups in music technology. In addition, I will make an effort to offer additional need-based partial scholarships where possible.

If you wish to apply for a scholarship or cost-reduction, there is an opportunity to do so on the registration form.

About SCAMP

SCAMP is the result of many years of my own compositional practice in Python, and evolved out of my own personal composition libraries. Over time, I found that I had to solve the same set of technical problems over and over again: how to manage the flow of time, how to manage MIDI pitch bends for microtonal music, how to produce music notation, among many others. SCAMP aims to provide a simple interface that solves these problems and allows the composer/programmer to focus on musical concerns. The following video provides a good introduction to the framework:

More information on the SCAMP framework, including complete API documentation, can be found at http://scamp.marcevanstein.com.

Testimonials from past workshops

“I’m definitely a learn-by-doing person, but I also need to shuffle the learning methods to keep information coming in. Your mix of live discussion/demos, individually paced written activities, and tutorial videos worked really well for me… I appreciate the fact that you developed so many activities and so much material that was appropriate for learners with different backgrounds and at different levels.”

“The workshop gave me an introduction into computer music and a refresher on programming fundamentals and inspired me to learn more about various aspects of computer music and further training on python.”

“Considering how flexible and powerful SCAMP is, I think that it is very intuitive and easy to get started on… overall, a very inviting and engaging framework for composing, and one that is full of possibilities!”

“I am really enjoying working in SCAMP. It’s great to be able to compose quite intuitively and, at the same time, also have the power and capability of Python to support your creativity…For me, the most valuable features lie in having the resources of Python to execute computer-assisted composition ideas along with clear and flexible notation and immediate auditory feedback of the score. It’s a winning combination!”

Register