Beginning Computer-Assisted Music in Python

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

Dates: February 18th – March 18th, 2023 (4 sessions total; no meeting on March 4th)

Schedule: Saturdays at 1:30pm-3:30pm PST; optional office hour during the week

Cost: $250 ($290 with beginner Python bootcamp), via this payment portal, due before the first session. Financial aid is also available; see below

Register

Description

In this workshop, we will use a newly developed Python-based composition framework called SCAMP (Suite for Computer Assisted Music in Python) to explore algorithmic processes, data sonification, and other forms of computer-assisted composition. SCAMP has been designed to flexibly accommodate both the creation of acoustic, notated music and the possibility of communicating with external synthesizers or synthesis-based languages like SuperCollider and Max/MSP. Since it is based in Python, it also offers easy access to a wide variety of libraries that we can apply to musical ends.

This workshop, in particular, is designed to be beginner-friendly, and I’m hoping to attract curious musicians who may never have touched a line of code before. During the first part of the course, we will acquaint ourselves with the SCAMP framework, and with the fundamentals of Python programming (e.g. lists, dictionaries, functions, classes). As we learn each new programming concept, we will explore its potential for musical creation. For example, for loops can be used to create musical sequences, and function can be used to represent musical gestures.

As we become comfortable with Python and with the SCAMP framework, we will explore the particular interests of workshop participants. In past workshops, this has included musical topic like counterpoint and isorhythm, as well as generative approaches like Markov chains and L-systems. I’m always excited to see what paths we go down!

Scheduling note: We will meet for a total of four Saturdays: Feb. 18, Feb. 25, Mar. 11, and Mar. 18. I’m hoping that the week off on Mar. 4th (necessitated by travel) will allow participants time to develop their own projects. I also plan to schedule an office-hours during the week to offer participants additional support with their projects.

Python Bootcamp

For those brand new to programming and/or Python, there will be an optional Python bootcamp from 9:00am-10:30am on the morning of the first session. This will give you a chance to ask more basic questions in a small group setting, and allow us to start making music from the start of the first session. The cost for this additional session is $40.

Financial Aid

A limited number of full scholarships will be offered specifically for women and other under-represented groups in music technology. In addition, as I recognize that this is a difficult time financially for many people, I will make an effort to offer additional need-based 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