MIT Logo

Interactive Music Systems (21M.385 / 21M.585 / 6.4450)

Read the Course Description, see a recent Syllabus, or check out Final Projects from previous years.

Interactive Music Systems is always over-subscribed and is limited to 36 students per semester.

Priority will be given to students who preregister for the class. Preregistered students will receive a questionnaire two weeks before reg day. If you hope to cross-register from Harvard of Wellesley (and therefore cannot preregister), please email the course instructor (egozy@mit.edu) two weeks before reg day to receive the questionnaire link. Enrollment is determined based on answers to the questionnaire and a lottery of the qualified students, with a slight preference for MIT music majors, minors, and concentrators. You will be notified as to your enrollment status a few days before reg day.

IMS is offered every semester. See the MIT course catalog for meeting times.

    Course Description

    Interactive Music Systems is a hands on programming and design course, requiring extensive and advanced knowledge of Python (including object-oriented programming). Students write code to learn about audio synthesis, musical structure, HCI (human computer interaction), and visual presentation as the ingredients for the creation of engaging real-time interactive musical experiences.

    These experiences allow users to connect with music more deeply than through passive listening. The most successful ones give users intuitive control, greater musical insight, and a deeper emotional response to the musical experience.

    Some examples include:

    Students will learn about the principles, design considerations, and aesthetic qualities of interactive music systems by exploring the following topics:

    • Music perception and audio synthesis
    • Dynamic multi-track audio mixing and looping
    • MIDI/audio synchronization
    • Generative composition systems including rhythmic and melodic synthesis
    • Exploration of non-standard control devices such as game controllers, motion sensors (Kinect, Leap Motion), and pad controllers.
    • Analysis and application of design elements in music games.
    • Building graphics for UI, music visualization, and aesthetic cohesion.

    The prerequisites are:

    • Programming: 6.1010 or an advanced command of Python and building software systems.
    • Music: 21M.051 or fluency reading music and first year college-level music theory, including scales, modes, chords progressions and basic composition

    Weekly assignments require both technical solutions to specific problems and creative implementations of your own design. The class requires a final project where student teams propose, design, and build an original, dynamic, and engaging interactive music system.

    Final Projects from Previous Terms

    Filter by Date

    Filter by Type