teaching machines

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 […]

Oscillating

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 […]

Starfish

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 […]

University of Canterbury Seminar

Hi, I’m Chris and I teach people to teach machines. But I am a reluctant computer scientist. Sometimes I get concerned that the thing I know the most about is not directly linked to my survival. My father knew how to keep machines running. My wife grows vegetables. In a post-apocalyptic world, they would be […]

Fittin’ Image

How do you fit an image inside a frame such that every pixel is visible and the image isn’t distorted? In CSS, we write object-fit: contain. In an Android ImageView, we use centerInside. But what if you are alone in the wild lands of custom drawing? We must determine the scale factors ourselves. I’ve solved […]

Lissajous

Twoville serves two purposes: to create SVG images that can be used as input to laser and vinyl cutters to create animations To support the second of these, I have been using time blocks to define geometric properties at particular keyframes, and then letting the animation system interpolate between the keyframes. Like this: Here we […]

Polar Graph

A year ago I decided to see if fifth graders could create shapes using polar coordinates. I bet myself that they could if we spent some time first traversing a polar grid, identifying the labels of the rings and the spokes. We didn’t think of them as angles and radii, because those semantics weren’t important […]

Phone Programming

Twoville now supports masking, which means we can subtract shapes from other shapes. Since I’m teaching a course on mobile app programming this semester, phones have been on my mind. Accordingly, here’s one of the first runs of the masking feature: In this code, hole is a container of other shapes that will be subtracted […]

1 11 12 13 14 15 46