Open for Enrollment

You can also start immediately after joining!
Join Now

Would you like to enroll?

Enrollment for this course has closed. But you can enroll in a future offering (please select)

Enrollment has closed

Go at your own pace
9 Sessions / 2 hours of work per session
Skill Level
Beginner
Topics
Programming in Python, creating melodies, musical scripts

Not available for purchase in India

Open for Enrollment

Computer-Assisted Music in Python

Open for Enrollment
You can also start immediately after joining!

Would you like to enroll?

Enrollment for this course has closed. But you can enroll in a future offering (please select)

Enrollment has closed

Go at your own pace
9 Sessions / 2 hours of work per session
Skill Level
Beginner
Topics
Programming in Python, creating melodies, musical scripts

Not available for purchase in India

Course Description
In this course we begin to explore the exciting world of algorithmic and computer-assisted composition using Python. Our home base for these explorations will be the newly developed framework called SCAMP (Suite for Computer-Assisted Music in Python). SCAMP has been designed both for creating acoustic, notated music and for communicating with digital audio workstations and sound synthesis languages like SuperCollider and Max/MSP, so the possibilities are endless!

During this first microcourse, we will acquaint ourselves with the SCAMP framework, and with some fundamentals of Python programming (e.g. working with variables, while loops, for loops), with an emphasis on exploring the potential of each concept for musical creation. So if you’re brand new to Python—or even to computer programming—you will have an opportunity to learn the basics. On the other hand, if you do have programming experience, this will be an opportunity to focus on the musical potential of Python, and of the SCAMP framework.

Marc Evanstein is the instructor for this micro-course.To preview Marc's teaching approach, check out his Youtube channel: music.py
Reviews
schedule

This course is in adaptive mode and is open for enrollment. Learn more about adaptive courses here.

Session 1: Module 1 Welcome (April 24, 2024)
Welcome to the course and setup.
1 lessons
1. Welcome and Introduction
Session 2: Taking your first steps in Python (May 1, 2024)
In this session, we learn how to write our first lines of code in Python, learn about the interpreter, and write a short script.
5 lessons
1. Using the interpreter as a calculator
2. Working with variables
3. Statements and expressions
4. Other variable types
5. Writing scripts
Session 3: Module 2 Exploring musical scripts (May 8, 2024)
Welcome to Module 2, in which we explore a couple of musical scripts and then create our own beat!
1 lessons
1. Module 2 Introduction
Session 4: Making some music (May 15, 2024)
In this session, we learn how to play notes using the SCAMP libraries, and familiarize ourselves with the syntax of calling functions, working with objects, and writing "while" loops in Python. Then we put it together to create some looping beats!
11 lessons
1. Calling functions in Python
2. Creating and using objects in Python
3. Setting up a Session and an instrument
4. Playing some notes
5. Using a different soundfont
6. Looping forever
7. The "wait" function and "blocking=False"
8. Using a counter variable
9. Tempo changes and nested loops
10. Recording the result to a file
11. Important note
Session 5: Module 3 Introduction to loops & sequences (May 22, 2024)
Welcome to Module 3, in which we learn about for loops and melodic sequences!
1 lessons
1. Module 3 Introduction
Session 6: Creating melodies and sequences (May 29, 2024)
In this session, we learn about "for" loops, "if" statements, and the modulo operator, and use these new tools to create melodies and musical sequences.
8 lessons
1. The for/range loop
2. For/range loops with a skip
3. Looping through a list
4. Playing multiple notes inside a for loop
5. Nesting for loops
6. If statements
7. The modulo operator
8. Conditional tests
Session 7: Module 4 Putting it all together (June 5, 2024)
In this module we'll put together everything we've done so far.
1 lessons
1. Module 4 introduction
Session 8: Functions and forking (June 12, 2024)
In this session we learn how to create our own functions and fork them so that they happen at the same time.
7 lessons
1. Defining your own function
2. Substituting an expression for a number
3. Defining function arguments
4. Forking functions
5. Parentheses and forking
6. Different approaches to forking
7. Using multiple soundfonts
Session 9: Congratulations! (June 19, 2024)
Congratulations on finishing Computer-Assisted Music in Python. Tell your friends! (And please complete the attached survey to give us feedback on the course!)
1 lessons
1. Outro.mov
Learning Outcomes

Below you will find an overview of the Learning Outcomes you will achieve as you complete this course.

Instructors And Guests
What You Need to Take This Course

All you really need to take this course is a Mac, Windows, or Linux computer on which to install Thonny, a simple Python editor, and the SCAMP framework (see http://scamp.marcevanstein.com/narrative/easy_setup.html). Note that the software cannot be installed on a Chromebook or a tablet.