Difference between revisions of "Music 254/CS 275b Spring 2016 Syllabus"

From CCARH Wiki
Jump to navigation Jump to search
Line 12: Line 12:
<td align=right><b>Meeting&nbsp;times:</b>
<td align=right><b>Meeting&nbsp;times:</b>
<td width=15></td>
<td width=15></td>
<td>Mondays & Wednesdays 1:15&ndash;3:05</td>
<td>Tuesdays & Thursdays 1:30&ndash;2:50</td>
Line 92: Line 92:
* [[Media:Introduction254.pdf | Introduction ]] (PDF slides)
* [[Media:Introduction254.pdf | Introduction ]] (PDF slides)
<b>Harmony I</b>
<b>Harmony I</b>
* [http://esf.ccarh.org/254/01_SymbolicMusicAnalysis.pdf 1. Symbolic Music Analysis (Introduction)] (PDF slides)  
* [http://esf.ccarh.org/CS275B-Mus254/01A_MusicQuery_Analysis_StyleSimulation_2016.pdf Music Query, Analysis, and Style Simulation (March 29)]
* [http://esf.ccarh.org/CS275B-Mus254/01B_MelodicQuery_2016.pdf Melodic Query (March 31)]
*[[Media:Harmony1.pdf| Harmony Tools I in Humdrum]] (PDF slides)
*[[Media:Harmony1.pdf| Harmony Tools I in Humdrum]] (PDF slides)
** Harmony tools:
** Harmony tools:

Revision as of 23:32, 28 March 2016

Music 254/CS 275b "Music Query, Analysis, and Style Simulation"
Stanford University (Spring 2016).

This music information retrieval course builds on the foundation of Music 253/CS 275A. Using an open-source analysis platform (such as the Humdrum Toolkit (unix/bash shell), Humdrum Extras (C++), or Music21 (Python), or your preferred programming language/environment) students plan and design their own applications.

The first four weeks cover basic areas of music analysis and retrieval and introduce basic principles of using the Humdrum Toolkit. Students may be assigned individual reading assignments pertinent to their research topic areas. The remaining six weeks are spent on individual project development, with weekly reports and discussions. Extensive help is available in the lab during hours allotted to class time. Students give verbal and written reports on their research at the end of the quarter. Some projects may be appropriate for continuation in independent-study modules.

Meeting times: Tuesdays & Thursdays 1:30–2:50
Location: Braun Music Building, Rooms 105, 128 (lab entry from Room 129)
Instructors: Eleanor Selfridge-Field (esfield@stanford.edu)
Craig Stuart Sapp (craig@ccrma.stanford.edu)
Office Hours: 3:05–4:05 Wednesdays and by appointment.
Credits: 2–4

25% class participation, 75% project

  • Project proposal: 3 pages, due Tues. 12 April 2016
  • Project presentation, 20–30 minutes, Thurs. 2 June 2016.
  • Project writeup draft: 5+ pages, Thurs. 2 June 2016
  • Project writeup: 10–20 pages, Thurs. 9 June 2016
Website: music254.stanford.edu
wiki.ccarh.org/wiki/Music 254 Overview of topics presented in Music 254.
Prerequisites: Completion of Music 253/CS 275b, or demonstrated ability to use notation and sound software and associated requirements.
Textbook: E. Selfridge-Field, ed., Beyond MIDI: The Handbook of Musical Codes (MIT Press, 1997). Available online by permission of the publisher.


Go to week: Harmony 1 | Melody 2 | Rhythm 3 | Harmony 4 | RegEx 5 | Programming 6 | 7 | 8

See also Music 253/CS 275a Syllabus

Week Dates Topics
29 March, 31 Mar 2016

Harmony I

  • Harmony Tools I in Humdrum (PDF slides)
    • Harmony tools:
      • hint: Harmonic intervals.
      • tntype: twelve-tone chord prototypes.
      • key: Krumhansl-Schmuckler key-finding algorithm.
      • keycor: generalization of key command.
      • sonority: triadic chord descriptions of sonorities.
    • Support tools:
      • assemble: merge separate spines into single data stream.
      • serialize: convert Humdrum data into single spine.
      • humcat : concatenate multiple scores together (download data from web).
      • ridx: remove various components of Humdrum file structure
      • ditto: resolve meaning of null tokens.
      • humsplit: split segmented Humdrum file streams into separate files.
    • Unix tools:
5 & 7 Apr 2016


12 Apr 2016


3 14 Apr 2016

Data/Data entry

  • Data/Data entry in Humdrum (PDF slides)
    • KernScores: digital library of scores in the **kern format
      • [1] introduction to KernScores
      • [2] shortcuts to data in KernScores
      • [3] browse collections in KernScores
    • [4]: Josquin Research Project: digital library of early Renaissance polyphony
    • xml2hum: MusicXML to Humdrum converter
    • mid2hum: MIDI to Humdrum converter (works in many cases, but better to convert MIDI first to MusicXML then import).
19 Apr 2016

Harmony II

4 21 Apr 2016

Humdrum & MIDI

26 Apr 2016

Regular Expressions

5 28 April 2016
3 May 2016

Programming for Humdrum files

  • Humdrum Extras — C++ library for processing Humdrum files
  • music21 — Python environment which reads Humdrum files
6 5 May 2016

Inner metric analysis

Sonority distributions by bass-line scale degrees

7 10 May 2016


7 12 May 2016

Musical Style

8 17 May 2016

Project development

No class meeting

8 19 May 2016

Project development

No class meeting

9 26 May 2016



  • MEI (Music Encoding Initiative) Release 2.0
6 June 1 2016
8 June 3 2016

Project presentations

General Policies and University Rules

General policies and university rules:

  1. Delivery times:
    1. Assignments: by the start of the class for which they are due.
    2. Final exam: by 11 p.m. of the assigned date.
  2. Honor code: We will act and expect you to act according to the Stanford Honor Code.
  3. Students with disabilities: Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Student Disability Resource Center (SDRC) located within the Office of Accessible Education (OAE). SDRC staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is being made. Students should contact the SDRC as soon as possible since timely notice is needed to coordinate accommdations. The OAE is located at 563 Salvatierra Walk (phone 723-1066).