Seeing Waveforms

This post is part of a series of notes and exercises for a summer camp on making musical instruments with Arduino and Pure Data. Author Christopher Paul Curtis writes in Elijah of Buxton, “Believe some to none of what you hear and only half of what you see.” This wisdom applies equally well to gossip […]


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 very first thing we must do this week is make noise. We’ll create this patch in Pure Data to generate a single frequency: Follow these steps to produce your patch: […]

SCSI 2019: Research Project Ideas

As part of SCSI, you will work with another individual to complete a research project. We can define research as the generation and sharing of new knowledge. In the context of digital music and sound, research projects might have the following form: You design a new kind of musical instrument, novel in how it gains […]

Interaction in Deltaphone

One of the many superpowers of a musician is the ability to hear intervals. This is not a superpower I possess. Can it be learned? While I’ve been working on Deltaphone, a friend mentioned that he coded an interval generator when he was a kid in order to help him train his ear. Last week […]


Twoville got support for arcs a couple of months ago. Full SVG supports elliptical arcs, but I don’t think they’re very intuitive and their parameters should not face the user. I restricted Twoville to circular arcs and exposed friendlier parameters. In my original draft, the programmer specified an arc via its starting point (which is […]

Half-homework 1 – Maintenance – due September 23

Your objective in this homework is to acquaint yourself with the world of mathematical calculation using a programming language. Math in code is a little different than the calculator math you are used to in the following ways: Programmers make considerable use of variables, whose names tend to be longer and more meaningful. Numbers are […]

Homework 0 – The Git Sandwich

For homework 0, you gained access to your homework repository on GitLab, cloned it on your local machine, and pushed those local changes back up to GitLab. In this installment, you will learn to synchronize in the other direction—you will pull changes down from GitLab to your local repository. Pulling Suppose you’re home for the […]

Homework 0 – Updating SpecCheckers

Like you, your instructor is a human with finite supplies of time and energy. Errors inevitably creep into the SpecCheckers, whose JAR files are sitting in your cloned repository. Your instructor will fix the errors, but how do you get the fixes into your repository? A decade ago you would download the updated JAR files […]

Homework 0 – Goodbye, Pluto

Your task in this homework—which is worth no Blugolds—is to set up your repository and IntelliJ IDEA project and to acclimate yourself to the SpecChecker grading tools. GitLab You are probably used to two kinds of systems for editing and managing files. Some tools are installed on your local machine and edit files stored on […]