Computer Music
The Computer Music Project at CMU develops computer music and interactive performance technology to enhance human musical experience and creativity. This interdisciplinary effort draws on Music Theory, Cognitive Science, Artificial Intelligence and Machine Learning, Human Computer Interaction, Real-Time Systems, Computer Graphics and Animation, Multimedia, Programming Languages, and Signal Processing.
General Information about CMU Computer Music
Reading Group
Papers and Publications
Archived pages from the past
Master of Science in Music and Technology
Master of Science in Music and Technology Web Site

Roger Dannenberg
Emeritus Professor of Computer Science, Art & Music

Chris Donahue
Assistant Professor, Computer Science Department

Tom Cortina
Teaching Professor and Associate Dean for Undergraduate Programs, School of Computer Science
tcortina at

Shuqi Dai
Graduate Student, Computer Science Department


Anders Øland
Graduate Student, Computer Science Department
anders.oland at


Artificial Intelligence and Music: Music Generation, Algorithmic Composition, Machine Learning, Music Structure Analysis and More.
O2: Real-time communication middleware for music systems.
Arco: Embedded, extensible sound synthesis server based on O2 and FAUST.
Humam-Computer Music Performance and Computer Accompaniment: Systems for Live Performance with Computers.
Soundcool: Creative software for music education and collaborative computer music performance.
Serpent: A real-time scripting language based on Python. Serpent is in active use for multiple real-time music projects including Arco.

  Past Projects
Aura: Real time distributed middleware for interactive multimedia performance
Structure Analysis: Automatic analysis of music structure from audio
McBlare: A Robotic Bagpipe Player McBlare is alive and well, and continues to be maintained.
MUSART (Music Analysis and Retrieval Technology): content-based music information retrieval including "query by humming"
Spectral Interpolation Synthesis: Automatic capture of spectral and performance models.
CMU MIDI Toolkit: Collection of source code for writing interactive MIDI software in C
Chronic: A programming language with time as a primitive type

Audacity: A fast, cross-platform audio editor
O2: Real-time communication middleware for music systems.
Nyquist: A sound synthesis and composition language based on Lisp
PortMidi: Standard cross-platform APIs for music software
PortSMF: Cross-platform Standard MIDI File reader/writer/score representation. Currently used in Audacity for “note tracks” and a native Serpent implementation is used in many local projects.
ScoreAlign: Fast audio-to-audio and audio-to-MIDI score alignment using dynamic programming on chromagram representations with added heuristics for better alignment. href="structure/index.html">
The Software Page

  Alumni and Associates

This picture board is woefully incomplete -- if you visited or worked in the project and would like to add a photo (preferably from your time at CMU),
please send me a photo and a link or contact info if you wish to have it here. -RBD

Eli Brandt
(Ph.D. in Computer Science)
Janelle Burdell
Master Percussionist
Jonghyun Lee
Graduate Student, KAIST, Korea
Hyun Kim
Part Time (summer) Staff
Jason Cohen
Bachelor of Computer Science
Dominic Mazzoni
(Master of Computer Science)
Tao Neuendorffer
Computer Science Major
Dileep Srihari
(Former Grad Student, Language Technologies Institute)
Roman Stanchak
Computer Science Major

Belinda Thom
(Ph.D. in Computer Science)

David Murray
Undergraduate, CS, HCI, & Voice
dim at Home
Seungmin Rho
Visiting Scientist
clazzang at
Umut Simsekli
Visiting Scholar
umut.simsekli at
George Tzanetakis
(Former Research Scientist, CMU)
Professor of Computer Science,
University of Victoria

Greg Williams
gswillia at
Jieping Xu
Visiting Scientist
xjieping at
Yuxiang Liu
Visiting Scholar
yxliu at

Gus Xia
(former Graduate Student, Machine Learning Department
Associate Professor, NYU Shanghai.

Ning Hu
Graduate Student, Computer Science Department

Huiran Yu
Graduate Student, Computer Science Department