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

From CCARH Wiki
Jump to navigation Jump to search
 
(20 intermediate revisions by 2 users not shown)
Line 18: Line 18:
 
<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>Tuesdays & Thursdays 12:30&ndash;1:50</td>
+
<td>Tuesdays & Thursdays 1:30&ndash;3:00</td>
 
</tr>
 
</tr>
  
Line 51: Line 51:
 
<ul> <li> Project proposal: 2+ pages, due Thurs. 23 April 2021
 
<ul> <li> Project proposal: 2+ pages, due Thurs. 23 April 2021
 
<li> Project progress report: 4+ pages, Thurs. 14 May 2021
 
<li> Project progress report: 4+ pages, Thurs. 14 May 2021
<li> Project presentation in class: Tuesday 9 June 2021
+
<li> Project presentation in class: Thursday 4 June 2021
 
<li> Project writeup: 10&ndash;20 pages  
 
<li> Project writeup: 10&ndash;20 pages  
 
* <b>Graduating</b> on 14 June 2021: Due on <b>8 June 2021</b> 10 p.m (exact deadline T.B.D.).
 
* <b>Graduating</b> on 14 June 2021: Due on <b>8 June 2021</b> 10 p.m (exact deadline T.B.D.).
Line 99: Line 99:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 1<div id="week1"></div> || 30 March, 1 April 2021 ||  
+
| 1<div id="week1"></div> || 29 March, 31 March 2022 ||  
  
 
<b>Lectures</b>
 
<b>Lectures</b>
  
* [http://esf.ccarh.org/CS275B-Mus254/01A_Symbolic_Music_Analysis_2021.ppt 1a. Symbolic Musical Analysis (Computational Music Analysis) (March 30)]
+
* Lecture 1A. [http://esf.ccarh.org/CS275B-Mus254/01A_Symbolic_Music_Analysis_2021.ppt Symbolic Musical Analysis]
* [http://esf.ccarh.org/CS275B-Mus254/01B_MelodicSearch_2021.ppt 1b. Melodic Search: Strategies and Format (April 1)]  
+
* Lecture 1B. [http://esf.ccarh.org/CS275B-Mus254/01B_MelodicSearch_2021.ppt Melodic Search: Strategies and Format]  
 
* [http://wiki.ccarh.org/wiki/Humdrum_Lab_1  Humdrum Lab 1]
 
* [http://wiki.ccarh.org/wiki/Humdrum_Lab_1  Humdrum Lab 1]
 
* [https://docs.google.com/presentation/d/1YmKGR1hfU7XP8kPEbC6yYuCfAJnn_PvlnedTjqSvHWA/edit?usp=sharing Humdrum data]
 
* [https://docs.google.com/presentation/d/1YmKGR1hfU7XP8kPEbC6yYuCfAJnn_PvlnedTjqSvHWA/edit?usp=sharing Humdrum data]
Line 227: Line 227:
 
<b>Lectures: Complex Melodic Processes; Search Effectiveness and Modeling</b>
 
<b>Lectures: Complex Melodic Processes; Search Effectiveness and Modeling</b>
 
* [http://esf.ccarh.org/CS275B-Mus254/04a_ComplexMelodicProcesses_2021.ppt 4a. Complex Melodic Processes]
 
* [http://esf.ccarh.org/CS275B-Mus254/04a_ComplexMelodicProcesses_2021.ppt 4a. Complex Melodic Processes]
* [http://esf.ccarh.org/CS275B-Mus254/04b_Search_effectiveness_and_modeling_2021.ppt 4b. Search Effectiveness and Modeling]
 
  
 
[https://docs.google.com/presentation/d/1ZuPHnMlSMHHitmYtSvtMRLkVDvFkd1ob82sO5pdLrXs/edit?usp=sharing Humdrum parsing in C++]
 
[https://docs.google.com/presentation/d/1ZuPHnMlSMHHitmYtSvtMRLkVDvFkd1ob82sO5pdLrXs/edit?usp=sharing Humdrum parsing in C++]
 
<br/>
 
<br/>
 
<b>Harmony II</b>
 
<b>Harmony II</b>
* [http://esf.ccarh.org/254/05B_Harmonic%20Models_2016.pdf 4b. Harmonic Models for Analysis (1)]
 
 
* [https://docs.google.com/presentation/d/1o2zHVB7VWBbFHdz3-3GOvGl7GDOiyjRdDlvicnfE4vg/edit?usp=sharing Harmony II] Key analysis
 
* [https://docs.google.com/presentation/d/1o2zHVB7VWBbFHdz3-3GOvGl7GDOiyjRdDlvicnfE4vg/edit?usp=sharing Harmony II] Key analysis
 
** Key-cycles:
 
** Key-cycles:
Line 249: Line 247:
 
|-
 
|-
 
| 4 || 22 Apr 2021 ||  
 
| 4 || 22 Apr 2021 ||  
<b> Harmonic Models</b>
+
<b> Search Effectiveness</b>
* [http://esf.ccarh.org/254/05B_2016.pdf 5a. Harmonic Models for Analysis (2)]
+
* [http://esf.ccarh.org/CS275B-Mus254/04b_Search_effectiveness_and_modeling_2021.ppt 4b. Search Effectiveness and Modeling]
 +
 
 
<b>Humdrum & MIDI</b>
 
<b>Humdrum & MIDI</b>
 
* [[Media:Humdrum2Midi.pdf | Humdrum to MIDI]] (PDF slides)
 
* [[Media:Humdrum2Midi.pdf | Humdrum to MIDI]] (PDF slides)
Line 272: Line 271:
 
* [http://esf.ccarh.org/CS275B-Mus254/05A_Similarity-coherence_2021.ppt 5a. Patterning and Coherence]
 
* [http://esf.ccarh.org/CS275B-Mus254/05A_Similarity-coherence_2021.ppt 5a. Patterning and Coherence]
  
* Special lecture by Heinz Roggenkemper, "<b>"What is holding back optical music recognition?"</b>
+
* Guest lecture by Heinz Roggenkemper, <b>"What is holding back optical music recognition?"</b> [https://docs.google.com/presentation/d/1TuX-3j3MxiU68thfZyMYaD_NFIuTHITsWwWbU9Octp0/edit#slide=id.p Google slides]
  
 
<b> Regular Expressions </b>
 
<b> Regular Expressions </b>
 
* [[Media:RegularExpressions.pdf | Regular Expressions]] (PDF slides)  
 
* [[Media:RegularExpressions.pdf | Regular Expressions]] (PDF slides)  
 +
 
|-
 
|-
 
| 5 || 29 April 2021 ||
 
| 5 || 29 April 2021 ||
 
* [http://esf.ccarh.org/CS275B-Mus254/05B_Meter-Rhythm-Expression_2021.ppt 05B. Meter, Rhythm, and Expression]
 
* [http://esf.ccarh.org/CS275B-Mus254/05B_Meter-Rhythm-Expression_2021.ppt 05B. Meter, Rhythm, and Expression]
 
+
 
 +
* [https://docs.google.com/presentation/d/1-zZf8ti35jR4l-wcAdrvD6mP91-6aYvaV12Sf-7YPSM/edit?usp=sharing prange and cint tools]
 +
 
 
* Performance analysis: [[Media:sonic-visualiser.pdf]]
 
* Performance analysis: [[Media:sonic-visualiser.pdf]]
 
|-
 
|-
Line 293: Line 295:
 
|-
 
|-
 
| 6<div id="week6"></div> || 4 May 2021 ||
 
| 6<div id="week6"></div> || 4 May 2021 ||
 +
<b>Compositional schemata</b>
 +
* [http://esf.ccarh.org/CS275B-Mus254/06A_CompositionalSchemata-2021.ppt Compositional schemata]
 +
 
<b>Counterpoint II</b>
 
<b>Counterpoint II</b>
 
* [http://esf.ccarh.org/CS275B-Mus254/06A_Artificial-Counterpoint_2019.pptx Counterpoint II]
 
* [http://esf.ccarh.org/CS275B-Mus254/06A_Artificial-Counterpoint_2019.pptx Counterpoint II]
Line 299: Line 304:
 
<b> Programming for Humdrum files </b>
 
<b> Programming for Humdrum files </b>
 
* [[Humdrum Extras]] &mdash; C++ library for processing Humdrum files
 
* [[Humdrum Extras]] &mdash; C++ library for processing Humdrum files
 +
* [https://ratioscore.humdrum.org Ratioscores: A text-based system for just intervals], Julie Zhu and Craig Sapp
 
|-
 
|-
 
| 6 || 6 May 2021 ||
 
| 6 || 6 May 2021 ||
Line 304: Line 310:
 
<b> Sonority distributions by bass-line scale degrees </b>
 
<b> Sonority distributions by bass-line scale degrees </b>
 
* [[Media:CorelliBassline.pdf |  Corelli & Rule-of-the-octave data selection]] (PDF slides)
 
* [[Media:CorelliBassline.pdf |  Corelli & Rule-of-the-octave data selection]] (PDF slides)
 +
 +
* [https://docs.google.com/presentation/d/13MO-frSYbk5eIcC8Vi-o6Gxv3g7n5ktNLuo1e2Xi4bE/edit?usp=sharing  Melodic aspects of barbershop quartet music]
 
|-
 
|-
 
|}
 
|}
Line 317: Line 325:
 
| 7 || 11 May 2021 ||
 
| 7 || 11 May 2021 ||
 
<b>Recent developments in MIR</b>
 
<b>Recent developments in MIR</b>
* [http://esf.ccarh.org/CS275B-Mus254/07A_RecentWork_SymbolicMIR.pptx Recent Work in Symbolic MIR]
+
* [http://esf.ccarh.org/CS275B-Mus254/07A_RecentWork_SymbolicMIR_2021.ppt 07A. Recent Work in Symbolic MIR]
 
|-
 
|-
 
| 7 || 13 May 2021 ||
 
| 7 || 13 May 2021 ||
 
<b>Recent Work in Harmonic Analysis</b>
 
<b>Recent Work in Harmonic Analysis</b>
* [http://esf.ccarh.org/CS275B-Mus254/07B_HarmonicModels_2019.pptx Harmonic Models]
+
* [http://esf.ccarh.org/CS275B-Mus254/07B_HarmonicModels_2021.ppt 07B. Harmonic Models]
 
* [https://docs.google.com/presentation/d/1adjEeWXmypmti8HjjqUXBrgrV2RyDG-UP3T7Gcj_mEA/edit?usp=sharing Keyscapes]
 
* [https://docs.google.com/presentation/d/1adjEeWXmypmti8HjjqUXBrgrV2RyDG-UP3T7Gcj_mEA/edit?usp=sharing Keyscapes]
 
|-
 
|-
Line 335: Line 343:
 
|-
 
|-
 
| 8 || 18 May 2021 ||
 
| 8 || 18 May 2021 ||
 +
 +
<b> Search Engines for Music</b>
 +
*
 
<b> Project development</b>
 
<b> Project development</b>
  
Line 369: Line 380:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 10 || 4 June 2020 ||
+
| 10 || 3 June 2020 ||
 
<b> Project presentations in class.</b>
 
<b> Project presentations in class.</b>
 
* Submit to Craig and Eleanor before class starts.
 
* Submit to Craig and Eleanor before class starts.
Line 377: Line 388:
 
|-
 
|-
 
| 12 || 11 June 2021 ||
 
| 12 || 11 June 2021 ||
<b> Project write-ups</b> for continuing students <b>continuing</b> at Stanford (Deadline T.B.D.).
+
<b> Project write-ups</b> for students <b>continuing</b> at Stanford.
 
|-
 
|-
 
|}
 
|}

Latest revision as of 00:09, 29 March 2022

Music 254/CS 275b "Computational Music Analysis "
Stanford University (Spring 2021).

This music information retrieval course (previously listed as "Music Query, Analysis, and Style Simulation") builds on the foundation of Music 253/CS 275A (Symbolic Musical Information). Using an open-source analysis platform (such as the Humdrum Toolkit (unix/bash shell), Humdrum Extras (C++), or Music21 (Python), or their preferred programming language/environment) students plan and design their own applications involving symbolic musical data.

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.

For class Zoom link
Please contact esfield@stanford.edu or craig@ccrma.stanford.edu
Meeting times: Tuesdays & Thursdays 1:30–3:00
Location: Online
Instructors: Eleanor Selfridge-Field (esfield@stanford.edu)
Craig Sapp(craig@ccrma.stanford.edu)
Office Hours: after class and by appointment on Zoom/Skype/Google Hangouts
Credits: 2–4
Grading:

25% class participation, 75% project

  • Project proposal: 2+ pages, due Thurs. 23 April 2021
  • Project progress report: 4+ pages, Thurs. 14 May 2021
  • Project presentation in class: Thursday 4 June 2021
  • Project writeup: 10–20 pages
    • Graduating on 14 June 2021: Due on 8 June 2021 10 p.m (exact deadline T.B.D.).
    • Continuing at Stanford after 14 June 2021: Due on 11 June 2021 10 p.m (exact deadline T.B.D.).
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.



Syllabus

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 1

Week Dates Topics
1
29 March, 31 March 2022

Lectures

Harmony-related Humdrum 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.

Performance analysis tool


Homework for new students

Week 2

Week Dates Topics
2
6 Apr 2021

Lectures: Approaches to melodic and other musical-similarity assessment

Labs: Rhythm and score manipulation tools

  • Rhythm Tools available in Humdrum
    • timebase: create uniform duration for each Humdrum file data line.
    • beat: label metric beats in Humdrum file.
    • gettime: calculate performance time in seconds (according to tempo markings).
    • thrux: expand repeats to performance sequence
    • minrhy: identify minimum integral rhythmic unit in score
    • assemble: merge parts into a single score
    • partjoin: automation script to merge parts into a single score (preserves grace notes, uses minrhy and timebase)
    • ditto/dittox: resolve null tokens
    • hgrep: search for patterns in Humdrum file data.
2 8 Apr 2021

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).

Regular Expressions (Text-based searching)

Week 3

Week Dates Topics
2
13 & 15 Apr 2021

Cope, Emmy, Emily Howell Lectures (Style Synthesis)

Melody Lab

  • Melody Tools available in Humdrum
    • melody tools:
    • support tools:
      • kern: remove rhythms from note data.
      • myank Yank measures from a full score.
      • extract: extract spines from Humdrum file.
      • extractx: Humdrum Extras version of extract
      • hgrep: Humdrum-aware greep.
      • autostem: automatic stemming of notes.
    • unix:
      • head: show only starting lines of text.
      • grep: search text for generalized regular expressions.
      • egrep: enhanced grep (adds additional wildcards).
      • sed: Stream editor (search and replace).
    • graphics (unix):
      • pstopnm: a converter from PostScript to bitmaps.
      • convert: Imagemagick tool for manipulating images.
      • ps2pdf: convert PostScript into PDF files.

Week 4

Week Dates Topics
4
20 Apr 2021

Lectures: Complex Melodic Processes; Search Effectiveness and Modeling

Humdrum parsing in C++
Harmony II

4 22 Apr 2021

Search Effectiveness

Humdrum & MIDI

Keyscapes

Week 5

Week Dates Topics
5
27 April 2021

Patterning and Coherence in Music

  • Guest lecture by Heinz Roggenkemper, "What is holding back optical music recognition?" Google slides

Regular Expressions

5 29 April 2021

Week 6

Week Dates Topics
6
4 May 2021

Compositional schemata

Counterpoint II

Rhythm and Meter

Programming for Humdrum files

6 6 May 2021

Sonority distributions by bass-line scale degrees

Week 7

Week Dates Topics
7 11 May 2021

Recent developments in MIR

7 13 May 2021

Recent Work in Harmonic Analysis

Week 8

Week Dates Topics
8 18 May 2021

Search Engines for Music

Project development

8 20 May 2021

Project development

Week 9

Week Dates Topics
9a 25 & 27 May 2021

Counterpoint

MEI

  • MEI (Music Encoding Initiative) Release 2.0

Week 10

Week Dates Topics
10 3 June 2020

Project presentations in class.

  • Submit to Craig and Eleanor before class starts.
11 7 June 2020

Project write-ups for students taking a degree in June 2021.

12 11 June 2021

Project write-ups for students continuing at Stanford.

Other topics/resources

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. Project writeup: by 11 p.m. 7 or 11 June 2021 by 11p.
  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 accommodations. The OAE is located at 563 Salvatierra Walk (phone 723-1066).
  4. Students in distress: Stanford offers an abundance of resources for students dealing with problems of a personal nature.
    1. Confidential support: (650) 736-6933
    2. Crisis hotline: (650) 725-9955
    3. Title IX questions: (650) 497-4955