Since completing my Ph.D., I have been working as a HCI Researcher and Software Lead on the TunePad project. TunePad is a tool for creating music using the Python programming language. It has various musical instruments (bass, drums, synthesizer, sequencer etc.) that are programmable, a healthy library of tutorials (we call Tunetorials), and other learning resources.
We have tried to design TunePad to be playful and powerful; while anyone using the platform doesn't need prior knowledge of music theory or coding to get started, TunePad can be used to make complex rhythms and compositions. For example, here are a trap beat, and an envelope/effect demo programmed in TunePad:
TunePad's goal is to empower diverse communities of learners to create and share music with code. Our partners in this effort include schools, libraries, community centers, and youth programs.
Software: web app written in HTML5, CSS and Dart, server code written in Flask, Python, with a Postgres backend running on Azure.
Excerpt from a paper published in ICLS '20 (pre-print, embargoed till June'20):
TunePad is a free, online platform designed with the goal of empowering diverse communities of learners to create and share music through code. We are interested in the idea of music as a pervasive form of literacy with abundant connections to concepts of computer programming.
Over the past three years we have developed and refined successive prototypes with over 500 middle school and high school students in a variety of learning spaces including schools, libraries, summer camps, and other out-of-school programs. This paper shares the current TunePad design along with data from three summer camps for middle school students that involved daily work with the platform. Through these camps we saw significant gains in learners’ attitudes around computer programming as measured through pre-post surveys. We also share a theoretical perspective on music and coding as an intersection of literacies that we reflect on through student-created artifacts.
Horn, M.S., Banerjee, A., Brucker, M. (2022). TunePad Playbooks: Designing computational notebooks for creative music coding. ACM Conference on Human Factors in Computing Systems (CHI’ 2022).
Michael Horn, Amartya Banerjee, Melanie West, Nichole Pinkard, Amy Pratt, Jason Freeman, Brian Magerko, Tom McKlin. TunePad: Engaging learners at the intersection of music and code. (ICLS'20)
Michael Horn, Amartya Banerjee, David Bar-El, Izaiah H. Wallace. Engaging Families around Museum Exhibits: Comparing Tangible and Multi-touch Interfaces. (IDC' 20)