Outputs

Legend: πŸ“ Paper | πŸ—£οΈ Talk | 🎡 Performance | πŸ–ΌοΈ Installation | πŸ‘₯ Workshop


Selected

Putting Programs on Paper With ScoreCard: Generative Music Pieces as QR Codes πŸ“ β€” JAES Volume 73 #12 (Dec. 2025)
Ian Clester, Jason Freeman β€” pdf

TAPE: From direct to programmatic and back πŸ—£οΈ β€” LIVE 2024
Ian Clester β€” video

Process Pieces as Paper Programs πŸ‘₯ β€” NIME 2024
Ian Clester β€” info, materials

ScoreCard: Generative music programs as QR codes πŸ“ πŸ—£οΈ β€” WAC 2024
Ian Clester, Jason Freeman β€” pdf

LambDAW: Towards a Generative Audio Workstation πŸ“ πŸ—£οΈ β€” ICLC 2023
Ian Clester, Jason Freeman β€” pdf, video

Sax Machine 🎡 β€” 60x60 2023
Ian Clester β€” video

Alternator: A General-Purpose Generative Music Player πŸ“ πŸ—£οΈ β€” WAC 2022 β€” Best Paper Award ⭐
Ian Clester, Jason Freeman β€” pdf, video

Composing the Network with Streams πŸ“ πŸ—£οΈ β€” AM 2021 β€” IWIS Best Poster Award ⭐
Ian Clester, Jason Freeman β€” pdf, video


Others

The Best of Both Worlds: Reconciling Web Audio with Native Audio πŸ—£οΈ β€” WAC 2025
Ian Clester, Ashvala Vinay

Garden Party 🎡 β€” WAC 2025
Ian Clester

Synthesizing Music with Logic Gate Networks πŸ“ β€” NIME 2025
Ian Clester β€” pdf

Playing Cards 🎡 β€” WAC 2024
Ian Clester

Blocks πŸ–ΌοΈ β€” WAC 2024
Ian Clester

Distributing Generative Music With Alternator πŸ“ β€” JAES Volume 71 #11 (Nov. 2023)
Ian Clester, Jason Freeman β€” pdf

Hack the Show: Design and Analysis of Three Interaction Modes for Audience Participation πŸ“ β€” JAES Volume 71 #11 (Nov. 2023)
Matthias Jung, Ian Clester β€” pdf

Flexible Instruction-Set Semantics via Abstract Monads πŸ“ β€” ICFP 2023
Thomas Bourgeat, Ian Clester, Andres Erbsen, Samuel Gruetter, Pratap Singh, Andy Wright, Adam Chlipala β€” pdf, video

Composing with Generative Systems in the Digital Audio Workstation πŸ“ πŸ—£οΈ β€” MILC 2023
Ian Clester, Jason Freeman β€” pdf, demo

Computer-Assisted Measure Detection in a Music Score-Following Application πŸ“ β€” WoRMS 2022
Eran Egozy, Ian Clester β€” pdf, video

kilobeat: low-level collaborative livecoding πŸ“ πŸ—£οΈ β€” WAC 2021
Ian Clester β€” pdf, video

Robotic Grasping of Fully-Occluded Objects using RF Perception πŸ“ β€” ICRA 2021
Tara Boroushaki, Junshan Leng, Ian Clester, Alberto Rodriguez, Fadel Adib β€” pdf, video


Projects

EarSketch

EarSketch is a platform for making music with code. By providing a free, web-based environment with a large sample library and an introductory CS curriculum, it aims to empower students to create music and write programs for themselves using Python or JavaScript. I develop EarSketch in the Computational Music for All lab under Jason Freeman; my work has included overhauling much of the interface and implementation of EarSketch during the move from Angular 1 to React and from JS to TypeScript. Try it out here!

BackTrack

BackTrack (Backscatter Tracker) is a system for RFID localization I developed in the Signal Kinetics group under Fadel Adib, building on the lab’s work on RFind and TurboTrack. RFID tags are normally used to determine the identity of people and goods, but this system enables determining their position in space as well. RFID tags are particularly useful as localization targets due to their low cost, ubiquity, and battery-free operation. I built a frequency-hopping system that provided higher framerates while requiring lower sampling rates, compared to prior systems, with the goal of exploring and enhancing the feasibility of RFID localization as an input for interactive applications.

ConcertCue

ConcertCue is a system for streaming synchronized program notes during a live musical performance, with the goal of enriching the concert-going experience with text and images designed to aid in musical appreciation and understanding. I worked on this project with Professor Eran Egozy and Diane Zhou throughout the 2018-2019 academic year.

Among other things, this work involved making improvements to the Director (the interface used by the human operator to keep ConcertCue in sync with the live performance) and doing the work necessary to operate ConcertCue at a few concerts with the BSO (and one concert all the way over at Michigan Tech!).

Notable features I worked on include the ability to determine the visual locations of measures in sheet music (and to highlight the current measure on the page when operating the Director) and initial work on automatic performance synchronization via real-time dynamic time warping.

The project code isn’t currently publicly available, but the web application can be found here, and more information can be found here.

RISC-V Formal Semantics

RISC-V is an open instruction set architecture designed to be practical. Basically, it’s a cool open standard that also aims for practicality and extensibility.

From Spring 2017 through IAP 2019, I worked with Professor Adam Chlipala and Thomas Bourgeat to develop a formal, friendly, and runnable RISC-V specification. The idea is to clearly define the correct behavior from RISC-V in a format that is both human-readable and machine-readable. At present, this is in the form of an emulator written in Haskell. This project is available on GitHub!