Syllabus: Automated Musical Instruments¶
16-377 IDeATe: Automated Musical InstrumentsMW 12:00PM-1:50PMunits: 10Hunt Library A10 (IDeATe Physical Computing Lab), secondarily A10A (Media Lab)office hours: in HL A10 or A10A on request (see Office Hours and Zoom)IDeATe Collaborative CourseIDeATe Programs: Physical Computing, Sonic Arts
Course Description¶
Robotic musical instruments build on a rich tradition of enhancing physical instruments with automation. In this project-oriented course we create and program novel electromechanical musical devices for live performance and installation. We review the history of player pianos, theater organs, and other historical automated instruments for inspiration. Students apply electrically powered solenoids, motors, and air valves to existing instruments to connect them to digital control. Students also develop novel machines to produce sound using physical processes. Using these collective results we assemble an idiosyncratic networked performance instrument and explore improvisation, composition, and algorithmic performance. Technical topics include electric actuators and interfacing, MIDI protocols and input devices, DMX and OSC networking, real-time Python, dataflow programming (Max and PureData), and elementary music and acoustics theory. This interdisciplinary course is part of IDeATe Physical Computing but is open to any student.
Detailed Description¶
This collaborative course explores interdisciplinary practice at the intersection of music and robotics. This exploration is the key aim of IDeATe: we are developing practitioners who can effectively utilize their expert domain knowledge in collaboration with other disciplines. This involves developing both rigorous individual expertise as well as skill with negotiating the vocabularies of other domains. Students will be expected to learn skills from outside their home discipline and teach their own expertise, but more importantly, to develop their abilities to collaborate in diverse groups.
The students in the course work in assigned groups to develop performance machines, culminating in a public show. The technical portion of the course includes a number of techniques: machine design, musical acoustics, MIDI, OSC and DMX protocols, real-time programming, and musical improvisation and composition.
Learning Objectives¶
Upon completion of this course the students will be able to:
design and construct electrically-actuated physical sound-producing devices
program real-time event-driven systems in Python and dataflow languages (e.g. Max or PureData)
build networked performance systems using MIDI, OSC, and DMX protocols
improvise, compose, and perform music using novel hybrid instruments
collaborate with teams of musicians, artists, designers, engineers, and computer scientists to create performance technology
use machine behavior as an artistic medium
It also incorporates the general goals of IDeATe to develop hybrid students with integrated knowledge in technology and arts. This stresses the following general skills:
algorithmic and analytic thinking
end-to-end execution of project concepts
communication through writing, drawing, and speaking
professional preparation
Prerequisite Knowledge¶
The formal prequisites for the course include one of a broad range of programming classes: 15-104, 15-110, 15-112, 60-210, 60-212, or 57-345, or substitutes 15-111 or 02-120.
Beyond this, no specific prior knowledge is needed to succeed, but students will be expected to integrate their previous experience with new skills in a collaborative setting. Relevant experience could include instrumental performance, music theory, computational thinking, digital signal processing, Python, Max/MSP, musical acoustics, or electromechanical design.
Technical Skills¶
The related technical skills are broad, but students will gain experience with the following:
application of solenoids and DC motors to actuated structures
application of high-pressure pneumatic valve systems
application of low-pressure blower and bellows systems
retrofitting actuation to commercial instruments and found objects
basic parametric 3D CAD modeling
mechanical design for the laser cutter (e.g. flat-pack design)
mechanical design for the 3D printer
basic electrical theory as pertains to driver logic and power supply
application of H-bridge and single-ended driver circuits
CircuitPython microcontroller programming
real-time event-driven programming in Python
protocol details of OSC, MIDI, and DMX
commercial DMX and MIDI equipment
application of Python libraries for OSC, MIDI, DMX, and networking
real-time dataflow programming (e.g. Max or PureData)
generative performance algorithms
hybrid performance programming blending human input and automation
integration of MIDI sequencer software with custom hardware
Musical Skills¶
The related musical skills are broad, but students will gain experience with the following:
history and practice of automated musical instruments
elementary music theory and notation
elementary musical acoustics of sound production and resonance
the Hornbostel–Sachs classification system [1]
improvisation and performance using MIDI controllers
composition for idiosyncratic instruments and ensembles
aleatoric music composition
Teaching Philosophy¶
This course is offered by IDeATe and follows our interdisciplinary approach which emphasizes hands-on collaborative learning through a blend of technology and artistic practice. We welcome students from every discipline across the whole campus. Students develop their expertise in both arts and technology while working with peers in a friendly setting. We keep prerequisites minimal to encourage a broad range of students to participate.
My approach to the IDeATe experience emphasizes collaborative research. Students learn essential skills to enable their discovery of new creative techniques through playful hands-on practice. We then apply those techniques to make expressive projects and performances. For this course, the process culminates in a public musical performance using instruments, software, and compositions developed by the students.
My teaching emphasizes attention to the individual student. I keep my class sizes small, assess individual skills, and adapt the curriculum to the students as they are. I encourage independence and leadership, creating a low threshold on inclusion but a high ceiling on learning goals. Each student follows their own learning trajectory to develop the skills they choose in a common creative enterprise. I encourage students to develop their creative vision and take risks on new ideas. When experiments don’t succeed I guide students through their constructive failures to find better approaches.
The curriculum follows an immersive philosophy, using exploratory practice to motivate theory. Students are provided basic information then immediately confronted with problems to solve. Through these explorations they discover both applications of their existing knowledge and the limits of their experience. This experiential learning builds a framework into which theory can explain and extend their practical knowledge.
Course Structure¶
The course is organized around an initial series of hands-on skill-building workshops, followed by a larger project spanning weeks which culminates in a public performance. The overall structure of the semester proceeds through three main phases:
hands-on technical exploration of instrument actuation and programming (seven weeks)
individual prototype instrument development (five weeks)
performance development and live demonstration (two weeks)
Workshops¶
The workshop phase includes occasional short lectures but spends the most time on experimentation and discussion. Some of the objectives include:
using DMX controllers to create ad-hoc musical instruments from power tools
applying solenoid actuators to create ad-hoc percussion instruments
developing actuation to automate an ocarina
creating actuated wooden organ pipes from scratch using laser-cut plywood
experiments in musical acoustics and resonance
precedent research including player pianos and theater organs
field trip to Bayernhof Museum
experiments with Disklavier (actuated piano) in Music Dept
musical improvisation using MIDI controllers
generative performance using dataflow programming (Max/Pd)
algorithmic composition in Python
networked real-time performance control
Course Project¶
The main project includes a concept development phase, proof-of-concept development, intermediate review, iterative development, and a final public performance or installation. Students work in pairs developing novel systems for musical machine performance. These systems are combined into a musical ensemble and each student develops an individual improvised performance or composition for the combined ensemble.
The final result is a public musical performance using idiosyncratic instruments combining digital control with physical sound production. This poses a musical challenge in improvising or composing within the constraints and possibilities of the machines the students produce.
Weekly Calendar¶
The day-by-day progress is charted on the Daily Agenda Logbook pages. Following is the general plan.
Weeks |
Topics and Project Activities |
|---|---|
1-2 |
Contextual exploration, introduction to historical automated musical instruments. |
3-6 |
Technical skill development, mockup experiments, ad hoc design topics. |
7 |
Project concept proposals; pre-break private performance. |
8-9 |
Proof-of-concept design and testing. |
10-11 |
Instrument design and fabrication. |
12 |
Full system integration, testing, design iteration. |
13-14 |
Preparation for public performance; documentation, analysis, review and critique. |
Daily Schedule¶
Scheduled classes primarily take place in Hunt A10. The day-by-day agenda is provided on the Daily Agenda Logbook pages. Most scheduled class periods begin with a group discussion activity, followed by more specialized tutorials and individual questions. On specific presentation days the group discussion occupies the entire class period.
The group discussion activities take several forms, but frequently include a brief initial presentation, breakout into smaller groups to work out a specific prompt, then a full-class review of results.
Canvas¶
The course Canvas site is used only for reporting grades. All assignments can be found on the Daily Agenda Logbook and submissions are either in-person or as Google docs posted in the designated Shared Drive folder.
Assessment and Grading¶
This is a hands-on course based on lab exercises and projects. There are no quizzes or exams. Most assignments involve programming, designing, or constructing some kind of device or physical demo.
Everybody is assumed to start with an A in the course. If you do the work you will keep it, but failing to fulfill the expectations will cause you to drift downward. The total grade in the course will be weighted approximately 60% for projects, 30% for exercises, and 10% for classroom participation and discussion.
The principal forms of assessment will be verbal critique, peer commentary, and self-reflection. Each student in this course begins with different experiences, disposition, and goals. There are many possible objectives in each assignment, e.g. developing a new skill, testing a new process, or prototyping a concept. Different students may choose different emphasis. The critique will center on the self-chosen goals. Sometimes we all learn more from an ambitious failure than a routine success.
Grading in the course is principally based on the documented evidence of fully engaging with the problems.
Most assignments will be graded either complete or no credit based on fulfilling all the defined objectives, which may include analysis, prototyping, documentation, and reflection. Especially good results may earn limited bonus credit.
In general, individual prototypes should meet the physical performance goals. But please note that a well-executed but ultimately unsuccessful idea will still get credit if the failures can be reasonably documented and explained.
Please note if work isn’t documented in photos and video, it didn’t happen; credit is given based on submitted documentation, not hazy memories of an in-person demonstration.
Formal grading is only reviewed and posted at mid-term and the end. Students are expected to submit assignment documentation on an ongoing basis to be available for review, but the hard submission deadlines are actually the last day before Fall Break and the last day of classes.
For team projects, individual scores for a project may vary from the group score based on peer reports and instructor observations.
Please note that unexecused absences may lower your overall grade as per the Attendance Policy policy.
Course Policies¶
Attendance Policy¶
Coming to class on time is mandatory. Attendance is recorded for each class and three unexcused absences will cost you 10% of your final grade, with an additional 10% for each successive missed class. If you must be absent, you must request approval in advance. Late requests will be considered on a case by case basis. Unexcused absences during review days will also reduce your individual project grade. We understand that your other courses have big deadlines, but the designated class hours are the most effective time for discussion and communication.
Lateness¶
Please finish your assignments on time; it is enormously disruptive to in-class reviews when work is incomplete or missing. In general, work which misses the in-class review deadline will not be given a rescheduled review, so you will not receive verbal critique or peer assessment. Late work will be credited for grading purposes based solely on submitted documentation.
Late work which misses the documentation review deadline will not receive credit, unless prior authorization is obtained from an instructor and documented in email; verbal authorization is not sufficient.
Please remember that something is always better than nothing. If the review is imminent, please bring whatever prototype you have and submit whatever text, images, and drawings you can rather than do nothing.
Health Absence Policy¶
No one should physically come to class if they are feeling unwell for any reason, whether Covid-19 or something else. Part of the responsibility of each student is respecting the welfare of others.
Please contact your instructor to arrange remote participation (if feasible) and renegotiate due dates and expectations. Generous allowances will be made.
If needed, some or all of the class may switch to Zoom for meetings. The Zoom meeting and password can be found on the Office Hours and Zoom page (login required).
Electronic Devices¶
The use of devices for non-class activities is strictly prohibited during class time. This especially applies to phones and social media: leave it at home or leave it your pocket.
The instructor reserves the right to confiscate devices without notice. If a persistent problem develops, phones will be banned completely from class.
Class participation is essential for learning and collaboration. An individual engaging with outside distractions has an effect larger than their own attention: it distracts others and diffuses the group focus.
If you feel bored and in need of distraction, then I challenge you to spend that energy instead formulating a question about the material at hand.
Materials and Equipment¶
IDeATe endeavors to make all needed resources available to students without additional course fees. This class uses the extensive resources of the Physical Computing Lab. Laser-cutting materials are available on request and 3D prints are available for no charge. The class also has a small budget for special final project purchases. Students are also permitted to provide, scavenge, or purchase additional materials for projects. If you find yourself unable to complete the work using the resources at hand, please consult your instructor.
Generative Artificial Intelligence¶
In brief, all uses of generative artificial intelligence (“genAI”) are prohibited in this course.
Generative AI technologies are rapidly evolving and several services are currently available via your student account. They can be hard to avoid since many online services are including AI results by default.
Nevertheless, all uses of generative AI services are prohibited for course activities, including but not limited to online search, text summary, text generation, image generation, language translation, writing assistance, code generation, and program debugging.
In the event you do encounter genAI results you are required to find and read human-written cited sources before using this information for course purposes.
Misuse of genAI results will be treated as unauthorized assistance under the terms of the Carnegie Mellon Academic Integrity Policy.
There are several components to my rationale:
The genAI tools are simply not that relevant to course activities, given that the bulk of our activities focus on exploring acoustic and electromechanical systems.
You learn a skill through practice, not through observing a result. Relevant skills for this course include reading, writing, critical thinking, and constructive drawing. While genAI can mimic human results in these areas, you will not learn. The process is the whole point; the final result is simply evidence of the process.
These tools are often wrong. These systems offer the allure of results written in an authoritative voice, but this an illusion of competence. Even under the best circumstances no genAI result should be trusted unless it can be independently verified.
These accuracy concerns also apply to automatic translation.
This is not a writing class and you are not being graded on writing quality. It is more informative for me to read your ideas as you express them directly rather than filtered through a machine. Writing is also a process of synthesis and discovery; using language tools may obstruct creative insight.
Please note this is an ongoing discussion, and I welcome questions and feedback on this policy.
Computing Needs¶
Each student is expected to provide computing resources for individual work. If this requirement constitutes an individual hardship, please contact the instructor.
Students may wish to use their own purchased or trial license for Max from Cycling ‘74 for specific assignments.
The optional course-supported CAD system will be SolidWorks.
Physical Computing Lab¶
The designated classroom for the course is the IDeATe Physical Computing Lab in Hunt A10. Students will have access to the lab any time outside of scheduled class times via the ID card reader at the door. Please be courteous and refrain from entering during other classes.
Part of taking this course is joining the IDeATe interdisciplinary community. Students with lab access are expected to be a good community member and take responsibility for sharing resources wisely.
All lab users are expected to abide by the Physical Computing Lab Policies. The lab inventory of components and materials is available online at Physical Computing Lab Inventory. The lab usage schedule is online at IDeATe PhysComp Lab Calendar.
Media Lab¶
The secondary classroom for the course is the IDeATe Media Lab in Hunt A10A. Students will have access to the lab any time outside of scheduled class times via the ID card reader at the door. Please be courteous and refrain from entering during other classes.
The Media Lab contains many items of equipment which should remain in the lab; please do not remove anything without permission.
IDeATe Facilities¶
The course makes use of the IDeATe fabrication facilities and labs in the lower level of Hunt Library, subject to availability and the current IDeATe policies.
IDeATe laser cutters will be available for trained students. Please see the IDeATe Laser Cutters page for current details on qualification. Qualified students will gain long-term access.
The Mosaic 3D printing system will be operating via an online queue for course-related projects. Resin 3D printing will be available on request.
The adjacent library study rooms operate on a reservation-only system.
The IDeATe facilities are shared student resources and spaces. As such, all members of the IDeATe community are expected to be respectful of the equipment, the spaces, and fellow students and their projects. Always clean up after completing your work, put things back in their correct place, and leave the lab in better condition than you found it.
Federal Law Enforcement¶
There is currently no expectation the campus or our classroom will be visited by agents from the FBI (Federal Bureau of Investigation), ICE (U.S. Immigration and Customs Enforcement), HSI (Homeland Security Investigations), or other federal forces. However, this could change at any point. The following guide is not legal advice but my requested classroom procedure in the event of a visit.
Do not open the door. As a private space, we are not required to allow entry unless presented with a valid judicial search warrant.
Please notify CMU Campus Security at 412-268-2323.
Please record the encounter using audio and video.
Please do not speak to agents. You have the right to remain silent.
If no instructor is present, please announce that the space is private and you do not consent to entry, search or questioning. If agents persist, demand a judicial warrant passed under the door.
Please stay calm and observe closely. Please remain in place, do not interfere, and do not lie or mislead.
For additional details and especially advice for persons without US citizenship, I recommend the following sources:
Individual Support¶
Accommodations for Students with Disabilities¶
If you have a disability and require accommodations but do not already have them approved by the Office of Disability Resources, please apply for accommodations through the Application section of the Disability Resources Online Portal. If you already have accommodations approved with Disability Resources, please use the Accommodations Management of the Disability Resources Online Portal to notify me about your accommodations, and discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate.
Respect for Diversity¶
It is my intent that students from all diverse backgrounds and perspectives be well served by this course, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. It is my intent to present materials and activities that are respectful of diversity: gender, sexuality, disability, age, socioeconomic status, ethnicity, race, and culture. Your suggestions are encouraged and appreciated. Please let me know ways you see to improve equitable treatment of yourself or other students in the course so we can address these questions with clarity.
Student Health and Well-being¶
Please take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.
If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit https://www.cmu.edu/counseling. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.
If you are having difficulty with your coursework, please be aware of the many resources available via the Student Academic Success Center, including coaching, tutoring, communication support, language and cross-cultural support, and supplemental instruction.
Last updated 2026-04-28.