teaching machines

Starring Matariki

During our last week in New Zealand, we attended the Matariki Festival at my sons’ school. Matariki is the Māori name for one of the stars that becomes visible in June, marking the start of a new growing season. The school celebrated with song and dance and an art show. For the art show, one […]

Triadic Chords in Deltaphone

When non-pianists approach a piano, they will strike random keys—but often just one key at a time. If they play more than one, the sound is likely to be unpleasant. But that’s only because they don’t know which keys to strike at the same time. Let’s work out in Deltaphone a system of notes that […]

SCSI 2019: Computational Music

Welcome to Computational Music, one of the courses at the 2019 Summer Computer Science Institute at Carleton College. This page contains all the course notes and exercises that you will need throughout the week. Day 1 On this day we introduce the notion of a sound wave, and we see how the frequency of these […]

Networking with Pure Data

This post is part of a series of notes and exercises for a summer camp on making musical instruments with Arduino and Pure Data. Our input so far has come from an Arduino plugged into our computer. It’s time to free things up. Bring on the internet! In this exercise, we will see how to […]

Timbre and Harmonics

This post is part of a series of notes and exercises for a summer camp on making musical instruments with Arduino and Pure Data. Earlier we said that sounds are generated by oscillating sine or cosine waves. That was a lie. None of our musical instruments produce pure waves of a single frequency. Rather, they […]

Changing Instruments

This post is part of a series of notes and exercises for a summer camp on making musical instruments with Arduino and Pure Data. Earlier we created this ticker abstraction to walk steadily through a range of numbers: In this exercise we explore changing MIDI instruments and using two of these tickers together. Changing Instruments […]

Counting in Time

This post is part of a series of notes and exercises for a summer camp on making musical instruments with Arduino and Pure Data. Musicians are servants of the beat. But who controls the beat? In this exercise, we do. We will create an abstraction named ticker that provides a steady pulse that will drive […]

Annotations in Twoville

Software for creating digital media tends to be driven by a mouse or stylus. The user directly manipulates shapes until they feel right. Twoville and Madeup, on the other hand, are programming interfaces for digital media. While code opens the door to algorithmic generation, programming interfaces tend not to give as much feedback as direct […]

Playing Sound Files Repeatedly

This post is part of a series of notes and exercises for a summer camp on making musical instruments with Arduino and Pure Data. In an earlier exercise, we created an abstraction to read in a sound file and play it. If you plan on playing the sound more than once, it doesn’t make a […]

Music Mouse, Part VI

This post is part of a series of notes and exercises for a summer camp on making musical instruments with Arduino and Pure Data. The Arduino side of the Music Mouse is working. Whew! All that’s left is to interpret the messages it sends out in Pure Data. Soon we’ll have music. Pure Data Interpreter […]

1 2 3 37