Computational Music Analysis

General course information

Course title: Computational Music Analysis
Course number: MUSC 5151, CSCI 4830, CSCI 7000
Semester: Maymester 2016
Meeting time: MTWRF 9:00am–12:00pm
Meeting location: MUS N1B49
Instructor: Kris Shaffer, Ph.D.
Office: MUS N138
Office hours: by appointment
Course website:
Twitter hashtag: #corpusmusic
GitHub organzation: corpusmusic
Google Drive materials: class shared folder


Why do certain pieces of music have such an emotional impact? What makes the music of Beethoven unique? Duke Ellington? Taylor Swift? What properties do their music share? Can we predict the next big hit? The best track to serve up next on a music lover's smartphone app? What can we learn about a culture from its music's structures? From its members' listening history? These are the kinds of questions asked by computational musicologists. Computational musicology is a young, growing field that uses computation and statistics to explore musical structure and practice. In this course, we will explore the field of computational musicology first from a distance, and then explore in detail several projects that investigate the compositional, performative, and listening tendencies that help define a cultural group. The course will end with a collaborative project that uses computation, statistics, and music theory to further understanding of a specific musical style or practice.

No knowledge of music theory is needed — only an interest in the role music plays in our lives and the role computation can play in investigating how music is meaningful for people.

Official course description

Computational Music Analysis is an interdisciplinary, vertically integrated (faculty, graduate students, and undergraduate students working together), project-based course. The course engages students in an interdisciplinary project, exploring musical structures using computational methods in a collaborative environment. It introduces methods in digital humanities generally and computational musicology specifically. It also provides experience using digital tools for collaborative work. This is a project-based course, with both student learning and assessment based on individual contributions to a collaborative project. To the extent possible, students will contribute to an existing, open project, and/or build on work already done in the field of computational musicology.

The research project

Before the mid-point of the course, students and instructor will negotiate a collaborative research project that builds on existing work in the field of computational musicology, is sensitive to the methodological concerns raised in reference to the digital humanities in general, will provide students an opportunity to engage with the public, and will afford students sufficient opportunity to meet the individual course objectives.

Possible projects include …

  • the creation of a website (and/or an ebook) containing short articles that critique existing work in computational musicology.
  • the creation of a single corpus that contains and expands upon existing, publicly available corpora.
  • the creation of software to analyze existing corpora in new ways.
  • a single, collaboratively written scholarly research article that addresses a research question about music using computational or empirical methods.
  • a large set of contributions to Wikipedia, Stack Overflow/Cross Validated, or other crowdsourced websites that "explain" pop/rock songs, artists, genres, and computational analtical methods.
  • a series of short articles for popular audiences to be submitted to widely read sites like Slate.
  • a combination of some of the above possible projects.

Credit and assessment

Because the course is vertically integrated and interdisciplinary, assessment of student work will use contract grading, tailored to individual students' levels (undergraduate or graduate) and disciplines.

Assessment will take place in reference to four conceptual areas:

  • Musical theories of harmony and form
  • Computational analysis/digital humanities research methods
  • Statistical analysis and interpretation
  • Online research collaboration
  • Writing about music (for a popular audience)

To receive a C in the course, a student must demonstrate basic working knowledge/skills in each of the five following conceptual areas through their work on the collaborative class project. To receive a B, a student must also demonstrate mastery of two. To receive an A, mastery of three.

All students will propose a course contract soon after the collaborative research project has been decided. (Model contracts are in the class shared folder on Google Drive.) This contract will articulate the grade desired and layout a work plan that is appropriate for their interests, field, level (grad/undergrad), and desired grade. Once approved by the instructor, these contracts will bind students to the work laid out. However, amendments to the contracts, if necessary, can be requested in writing well in advance of the relevant course deadlines. Students who fail to meet the requirements of their contract will receive a C if core requirements are met, or a D or F, if core requirements are not met. Students who meet the requirements of their contract will receive the grade listed on the contract.

There is no final exam. All assessment will take place in reference to course contracts.

Required materials

  • An account for Spotify (a free account should be sufficient for this course).
  • A free Google Drive account using your CU Identikey.
  • A free GitHub account.
  • An account for the class's Slack channel. (We will set this up during the first day of class.)

All other required class materials will be posted or linked to on the course website or (if copyright demands) posted in the class shared folder in Google Drive.


For instructor and university policies relevant to this course, please see this page.

About this syllabus

This syllabus is a summary of course objectives and content and a reminder of some relevant university policies, not a contract. All information in this syllabus (except for the "General course description") is subject to change, with sufficient advanced notice provided by the instructor.

In the spirit of collaboration at the center of this course, this syllabus (and the entire course website) is hosted on GitHub Pages, and I will consider pull requests (suggested changes) from students.