← Back to all courses
CalArts · Fall 2026 · Instructor: Luisa Pinzon

Coding Music Fundamentals

This course teaches ChucK, a programming language for sound, through a pre-recorded video series paired with a weekly in-person class. Each week, students bring in the assignment they made and share it with the class. The semester ends with a group performance built from pieces students write themselves, whether that’s an instrument, a composition, or an interactive sound piece.

Meets
Wed, 3:00–4:50 PM
Location
Main Bldg, B214A
Credits
3
Format
Kadenze video series plus live class
Credit Load

Credit Load

This is a 3-credit course, following CalArts’ standard credit-hour policy: 45 hours of work per credit for BFA students, 60 hours per credit for Masters students. That comes to 135 total hours for BFA students and 180 for Masters students across the semester. In-class time adds up to about 25.7 hours over the semester. The rest is independent work: roughly 7.8 hours a week for BFA students, and roughly 11 hours a week for Masters students.

Overview

Course Description

This course extends previous graphics related programming experience into the audio domain. ChucK, a strongly-timed computer music language, will be the focal language of the class, with opportunities to communicate to physical computing platforms like Arduino, or graphics frameworks like p5.js. Various facets of digital audio will be explored, including synthesis, analysis, and interactive performance tools for live performance or composition.

The course follows Kadenze’s Introduction to Real-Time Audio Programming in ChucK, a series of eight pre-recorded video sessions. Starting in Week 2, each class period has two parts:

First half of class

Students share the assignment from the video they watched the previous week, and the class listens to the work together.

Second half of class

The instructor previews the next video in plain language, so students can ask questions before watching it and completing that week’s assignment on their own.

No musical background is required. This isn’t a music-theory class. Week 1 covers just enough shared vocabulary (pitch, rhythm, timbre) to make later conversations easier. It’s context, not a prerequisite.

Learning outcomes

Masters students additionally build toward independent research beyond what’s shown in class, taking a lead technical role in the required group final, and articulating the thinking behind their own work.

Weekly Breakdown

Weekly Schedule

Weekly homework, in one line

Watch that week’s pre-recorded video and complete the assignment that goes with it, then present it in class. Assignments aren’t submitted digitally: presenting in class is the deadline. Assignments not presented in class don’t receive a grade, and weekly assignments combine for 50% of your final grade, so presenting each week matters.

Final project: Week 13 is a live in-person performance and Week 14 is a required digital submission, identical to Coding Art Fundamentals and Intro to TouchDesigner. See Final Project below.

01Sept 9

Getting Started

  • Introductions and a relaxed conversation about music basics.
  • A short in-class demonstration on how we’ll think about AI this semester, using a calculator exercise.
  • Installing ChucK and miniAudicle, and getting sound working on every laptop before leaving class.

Assignment: look through a beginner music-basics site, and spend some time in a simple, free music-making app. No musical experience expected.

02Sept 16

First Sounds

  • What makes ChucK different: it’s “strongly timed,” meaning code and sound stay precisely in sync.
  • The => operator, core data types, and how now works.
  • if/else, for/while loops.
  • Building your first oscillator.

Assignment: Session 1 video.

03Sept 23

Libraries, Randomness & Arrays

  • ChucK’s standard and math libraries: unit conversion, randomness, panning.
  • Arrays: declaring, indexing, and looping through them.
  • Using an array to build a melody instead of a single note.

Assignment: Session 2 video.

04Sept 30

Working with Sound Files

  • SndBuf, ChucK’s object for playing sound files.
  • Looping and reverse playback, switching between samples.
  • The modulo operator, the technique behind a step sequencer.

Assignment: Session 3 video.

05Oct 7

Functions & Musical Structure

  • Writing a function and passing it arguments.
  • Local versus global scope.
  • Using functions to build chords and give a piece musical structure.
  • Recursion, through the classic factorial example.

Assignment: Session 4 video.

06Oct 14

Synthesis & Physical Models

  • Envelopes and ADSR shaping.
  • FM synthesis.
  • Filters and effects, including pitch-shifting and reverb.
  • Physical modeling instruments: a mandolin, a flute, a mallet instrument, shakers.

Assignment: no separate assignment this week. This material is covered by the midterm instead (see Week 7).

Shared across all three courses

Week 7 · Oct 21 · Midterm

The midterm covers everything from Weeks 1 through 6, including the physical modeling material from Week 6. Share a piece built using this material. No fixed time slot this week; scheduling is coordinated across all three classes.

08Oct 28

Running Things at Once

  • The shred, ChucK’s term for a single running thread of code, and spork, which launches a new one.
  • Managing several shreds with Machine.add, remove, and replace.

Assignment: Session 6 video.

09Nov 4

Classes & Building Instruments

  • Classes and objects: member variables, methods, public versus private, inheritance.
  • Building a reusable instrument instead of a one-off patch.

Assignment: Session 7 video. This week is also the deadline to have your final group formed (minimum 2, maximum 3).

10Nov 11

Playing Live

  • Events, keyboard and mouse input.
  • MIDI in and out.
  • OSC: what lets a patch respond to a live performer.

Assignment: Session 8 video. Your group’s presentation slot for Dec 2 also goes out this week.

Shared across all three courses

Week 11 · Nov 18 · Talking to Other Software

Connecting ChucK outward: OSC to p5.js, MIDI to Ableton, using the same concepts from Session 8.

Shared across all three courses

Week 12 · Nov 25 · A Visit from Stanford CCRMA

A remote conversation with the research center where ChucK and ChuGL were built, plus 1:1 remote help slots. Specs for the Week 14 digital submission go out today.

Shared across all three courses

Week 13 · Dec 2 · Final Performance

Your group performs in person, 1 to 6 PM. Your slot within that window was sent out in Week 10.

Shared across all three courses

Week 14 · Dec 9 · AI Workshop & Portfolio Day

Digital submission of your recorded performance is due, along with a required remote AI workshop (attendance counts toward your final project grade, see Grading) and your Digital Expo portfolio.

Final Project

Final Project

This is a live group performance. Solo final projects aren’t allowed. Everyone also submits a digital recording in Week 14, the same requirement as Coding Art Fundamentals and Intro to TouchDesigner. The only difference for this course is how weekly homework works, not the final project.

Group size
Minimum 2 people, maximum 3.
Forming your group
Around Week 4, once rosters are settled, a chart goes out where each student checks off their own background (musician, visual artist, prior coding experience) plus notes, so students who don’t know each other can find a match. Week 9 is the deadline to have a group formed. Unformed groups get assigned that day, and members exchange contact information.
ChucK requirement
Every group needs at least one properly coded ChucK instrument per person: real logic, synthesis, signal processing, sequencing, or control, not just triggering pre-made audio. A group of 3 needs at least 3.
Masters student leadership
Each group should include at least one Masters student, when enrollment allows. Masters students are expected to take a leading role in their group. It’s a chance to practice the leadership and professionalism needed on mixed-experience teams, in school and afterward.
Connecting outward
Every group’s ChucK content needs to connect to at least one other piece of software or language, such as Ableton, TouchDesigner, p5.js, or openFrameworks, or anything that speaks OSC, MIDI, or another live protocol. You aren’t limited to this list; any tool that fits the piece works.
Reusing one project
If a group’s project counts as the final for more than one of Luisa’s three Fall 2026 courses, it has to incorporate each tool it’s counting for: two tools if double-counted, all three if triple-counted.
Presenting
Week 13 (Dec 2), in person, 1–6 PM. Your group’s exact slot inside that window is sent three weeks ahead, by Week 10.
Digital submission
Week 14 (Dec 9): a high-quality video/audio recording of the performance, doubling as portfolio material. Specs go out two weeks ahead, by Week 12. It doesn’t have to be a straight capture of the live show; groups can re-record for better quality.
Grading

Grading

Weekly assignments: 50% Midterm: 20% Final project: 30%

Grade scale

HP
80–100
P
60–79
LP
30–59
NC
0–29

Attendance at the Week 14 AI workshop counts for 10% of your final project grade. If you miss it, you lose that part of your grade.

If you miss 3 or more classes without an excused absence, you will receive a No Credit for the course. Sign in with the TA every class. A Zoom link is available if you truly can’t be in the room, as long as you request it ahead of time.

Materials

Materials