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

From CCARH Wiki
Jump to navigation Jump to search
 
Line 1: Line 1:
  
  
<font size=+1><b>Music 254/CS 275b "Computational Music Analysis "  <br> Stanford University (Spring 2023).</b></font>
+
<font size=+1><b>Music 254/CS 275b "Computational Music Analysis "  <br> Stanford University (Spring 2022).</b></font>
  
This music information retrieval course (previously listed as "Music Query, Analysis, and Style Simulation") builds on the foundation of [[Music 253|Music 253/CS 275A]] (Symbolic Musical Information). Using an open-source analysis platform (such as the [https://github.com/humdrum-tools/humdrum-tools 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.  See Online Resources after syllabus.
+
This music information retrieval course (previously listed as "Music Query, Analysis, and Style Simulation") builds on the foundation of [[Music 253|Music 253/CS 275A]] (Symbolic Musical Information). Using an open-source analysis platform (such as the [https://github.com/humdrum-tools/humdrum-tools 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
 
The first four weeks cover basic areas of music analysis and retrieval and
Line 51: Line 51:
 
<td>
 
<td>
 
25% class participation, 75% project
 
25% class participation, 75% project
<ul> <li> Project proposal: 2+ pages, due Thursday. 20 April 2023
+
<ul> <li> Project proposal: 2+ pages, due Thursday. 15 April 2022
<li> Project progress report: 2+ pages, Thurs. 11 May 20223
+
<li> Project progress report: 2+ pages, Thurs. 5 May 2022
<li> Project presentation in class: Tues. 6 June 2023
+
<li> Project presentation in class: Thursday 4 June 2022
 
<li> Project writeup: 10&ndash;20 pages  
 
<li> Project writeup: 10&ndash;20 pages  
* <b>Graduating</b> in June 2023: Due on <b>9 June 2023</b> 11:59pm.
+
* <b>Graduating</b> in June 2022: Due on <b>?? June 2022</b> 11:59pm.
* <b>Not graduating</b>: Due on <b>13 June</b> 2023 11:59pm.
+
* <b>Not graduating</b>: Due on <b>?? June</b> 2022 11:59pm.
 
</ul>
 
</ul>
 
</td>
 
</td>
Line 101: Line 101:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 1<div id="week1"></div> || 4 April, 6 April 2023 ||  
+
| 1<div id="week1"></div> || 27 March, 29 March 2022 ||  
  
 
<b>Lectures</b>
 
<b>Lectures</b>
  
* Lecture 1A. [https://esf.ccarh.org/CS275B-Mus254/01A_Symbolic_Music_Analysis_2023.pdf Computational Musicology]
+
* Lecture 1A. [https://esf.ccarh.org/CS275B-Mus254/01A_Symbolic_Music_Analysis_2021.ppt Symbolic Musical Analysis]
* Lecture 1B. [https://esf.ccarh.org/CS275B-Mus254/01B_MelodicSearch_2023.pdf Melodic Search: Fundamentals]  
+
* Lecture 1B. [https://esf.ccarh.org/CS275B-Mus254/01B_MelodicQuery_2022.ppt Melodic Search: Fundamentals]  
 
* [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 126: Line 126:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 2<div id="week3"></div> || 11 Apr 2023 ||  
+
| 2<div id="week3"></div> || 3 Apr 2022 ||  
 
<b>Lectures: Approaches to melodic and other musical-similarity assessment</b>
 
<b>Lectures: Approaches to melodic and other musical-similarity assessment</b>
 
* [https://esf.ccarh.org/CS275B-Mus254/02x_Melodic_Similarity_2022.ppt Melodic Similarity: Pitch and Duration]
 
* [https://esf.ccarh.org/CS275B-Mus254/02x_Melodic_Similarity_2022.ppt Melodic Similarity: Pitch and Duration]
 
|-
 
|-
| 2 || 13 Apr 2023 ||  
+
| 2 || 5 Apr 2022 ||  
  
 
* [https://esf.ccarh.org/254/02B_TimbralSimilarity.ppt Timbral Similarity]
 
* [https://esf.ccarh.org/254/02B_TimbralSimilarity.ppt Timbral Similarity]
Line 147: Line 147:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 2<div id="week2"></div> || 18 & 20 Apr 2023 ||  
+
| 2<div id="week2"></div> || 10 & 12 Apr 2022 ||  
 
<b>Cope, Emmy, Emily Howell Lectures (Style Synthesis)</b>
 
<b>Cope, Emmy, Emily Howell Lectures (Style Synthesis)</b>
 
* [https://esf.ccarh.org/254/03a_Cope1-2022-2.ppt Cope 1: Experiments in Musical Intelligence (Emmy)]
 
* [https://esf.ccarh.org/254/03a_Cope1-2022-2.ppt Cope 1: Experiments in Musical Intelligence (Emmy)]
Line 168: Line 168:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 4<div id="week4"></div> || 25 Apr 2023 ||  
+
| 4<div id="week4"></div> || 17 Apr 2022 ||  
  
 
<b>Lectures: Practical Realities of Research</b>
 
<b>Lectures: Practical Realities of Research</b>
Line 174: Line 174:
 
* [https://docs.google.com/presentation/d/1jOJa7CTm8O5y-RxXDV9wboGFEgXJifG2O4QxJhtHe_o/edit?usp=sharing Keyscapes]
 
* [https://docs.google.com/presentation/d/1jOJa7CTm8O5y-RxXDV9wboGFEgXJifG2O4QxJhtHe_o/edit?usp=sharing Keyscapes]
 
|-
 
|-
| 4 || 27 Apr 2023 ||  
+
| 4 || 19 Apr 2022 ||  
 
<b> Audio Similarity</b>
 
<b> Audio Similarity</b>
 
* [https://esf.ccarh.org/254/04b_Audio-similarity.ppt 4b. Audio similarity]
 
* [https://esf.ccarh.org/254/04b_Audio-similarity.ppt 4b. Audio similarity]
Line 189: Line 189:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 5<div id="week5"></div> || 2 May 2023 ||
+
| 5<div id="week5"></div> || 26 April 2022 ||
 
<b>Patterning and Coherence in Music </b>
 
<b>Patterning and Coherence in Music </b>
 
* [https://esf.ccarh.org/254/05a_Similarity-coherence_2022.ppt 5a. Patterning and Coherence]
 
* [https://esf.ccarh.org/254/05a_Similarity-coherence_2022.ppt 5a. Patterning and Coherence]
Line 197: Line 197:
  
 
|-
 
|-
| 5 || 4 May 2023 ||
+
| 5 || 28 April 2022 ||
 
* [https://esf.ccarh.org/254/05b_Meter-Rhythm-Expression_2022.ppt 05b. Meter, Rhythm, and Expression]
 
* [https://esf.ccarh.org/254/05b_Meter-Rhythm-Expression_2022.ppt 05b. Meter, Rhythm, and Expression]
  
Line 217: Line 217:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 6<div id="week6"></div> || 9 May 2023 ||
+
| 6<div id="week6"></div> || 3 May 2022 ||
 
<b>Compositional schemata</b>
 
<b>Compositional schemata</b>
 
* [https://esf.ccarh.org/CS275B-Mus254/06A_CompositionalSchemata-2021.ppt Compositional schemata]
 
* [https://esf.ccarh.org/CS275B-Mus254/06A_CompositionalSchemata-2021.ppt Compositional schemata]
Line 232: Line 232:
 
* [https://ratioscore.humdrum.org Ratioscores: A text-based system for just intervals], Julie Zhu and Craig Sapp
 
* [https://ratioscore.humdrum.org Ratioscores: A text-based system for just intervals], Julie Zhu and Craig Sapp
 
|-
 
|-
| 6 || 11 May 2023||
+
| 6 || 5 May 2022 ||
  
 
* Project reports: Leon Bi and Charles Tsai (DJ transitions); Sammy Park (Guqin Digital Scores); Dominic DeMarco (Orchestral Pairings in Band Music)
 
* Project reports: Leon Bi and Charles Tsai (DJ transitions); Sammy Park (Guqin Digital Scores); Dominic DeMarco (Orchestral Pairings in Band Music)
Line 251: Line 251:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 7 || 16 May 2023 ||
+
| 7 || 10 May 2022 ||
 
<b>Recent developments in MIR</b>
 
<b>Recent developments in MIR</b>
 
* [https://esf.ccarh.org/254/06a_CompositionalSchemata-2022.ppt Compositional Schemata]  
 
* [https://esf.ccarh.org/254/06a_CompositionalSchemata-2022.ppt Compositional Schemata]  
 
07A_RecentWork_SymbolicMIR_2021.ppt 07A. Recent Work in Symbolic MIR]
 
07A_RecentWork_SymbolicMIR_2021.ppt 07A. Recent Work in Symbolic MIR]
 
|-
 
|-
| 7 || 18 May 2023 ||
+
| 7 || 12 May 2022 ||
 
<b>Recent Work in Harmonic Analysis</b>
 
<b>Recent Work in Harmonic Analysis</b>
 
* [https://esf.ccarh.org/CS275B-Mus254/07B_HarmonicModels_2021.ppt 07B. Harmonic Models]
 
* [https://esf.ccarh.org/CS275B-Mus254/07B_HarmonicModels_2021.ppt 07B. Harmonic Models]
Line 271: Line 271:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 8 || 23 May 2023 ||
+
| 8 || 17 May 2022 ||
  
 
<b>Recent Research (and Challenges) in MIR</b>
 
<b>Recent Research (and Challenges) in MIR</b>
Line 279: Line 279:
  
 
|-
 
|-
| 8 || 25 May 2023 ||
+
| 8 || 19 May 2022 ||
 
* Music and AI: Julia Mills (guest lecture)
 
* Music and AI: Julia Mills (guest lecture)
 
<b> Project development</b>
 
<b> Project development</b>
Line 294: Line 294:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 9a || 30 May, 1 June 2023 ||
+
| 9a || 24 & 26 May 2022 ||
 
<b> Counterpoint</b>
 
<b> Counterpoint</b>
 
* [https://esf.ccarh.org/254-old/09b_Improvisatory%20Counterpoint.pdf Generative approaches to counterpoint]
 
* [https://esf.ccarh.org/254-old/09b_Improvisatory%20Counterpoint.pdf Generative approaches to counterpoint]
Line 310: Line 310:
 
! scope="col" width="500px" | Topics
 
! scope="col" width="500px" | Topics
 
|-
 
|-
| 10 || 6 June 2023 ||
+
| 10 || 31 May 2022 ||
 
<b> Project presentations in class.</b>
 
<b> Project presentations in class.</b>
 
|-
 
|-
| 11 || 9 June 2023 ||
+
| 11 || 8 June 2022 ||
<b> Project write-ups</b> for students <b>taking a degree</b> in June 2023.
+
<b> Project write-ups</b> for students <b>taking a degree</b> in June 2022.
 
|-
 
|-
| 12 || 13 June 2023 ||
+
| 12 || 9 June 2022 ||
 
<b> Project write-ups</b> for students <b>continuing</b> at Stanford.
 
<b> Project write-ups</b> for students <b>continuing</b> at Stanford.
 
|-
 
|-
 
|}
 
|}
  
== Online resources for this class ==
+
=== Other topics/resources ===
  
 
<b>Data/Data entry</b>
 
<b>Data/Data entry</b>

Latest revision as of 15:54, 5 April 2023


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

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 Thursday. 15 April 2022
  • Project progress report: 2+ pages, Thurs. 5 May 2022
  • Project presentation in class: Thursday 4 June 2022
  • Project writeup: 10–20 pages
    • Graduating in June 2022: Due on ?? June 2022 11:59pm.
    • Not graduating: Due on ?? June 2022 11:59pm.
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
27 March, 29 March 2022

Lectures

Homework for new students

Week 2

Week Dates Topics
2
3 Apr 2022

Lectures: Approaches to melodic and other musical-similarity assessment

2 5 Apr 2022

Week 3

Week Dates Topics
2
10 & 12 Apr 2022

Cope, Emmy, Emily Howell Lectures (Style Synthesis)


Week 4

Week Dates Topics
4
17 Apr 2022

Lectures: Practical Realities of Research

4 19 Apr 2022

Audio Similarity

Week 5

Week Dates Topics
5
26 April 2022

Patterning and Coherence in Music


5 28 April 2022


Regular Expressions


Week 6

Week Dates Topics
6
3 May 2022

Compositional schemata

  • Quality Control in Research: Heinz Roggenkemper (guest lecture)
  • Project report: Adaptive tuning (Shray Alag)

Counterpoint II

Rhythm and Meter

Programming for Humdrum files

6 5 May 2022
  • Project reports: Leon Bi and Charles Tsai (DJ transitions); Sammy Park (Guqin Digital Scores); Dominic DeMarco (Orchestral Pairings in Band Music)

Sonority distributions by bass-line scale degrees

Week 7

Week Dates Topics
7 10 May 2022

Recent developments in MIR

07A_RecentWork_SymbolicMIR_2021.ppt 07A. Recent Work in Symbolic MIR]

7 12 May 2022

Recent Work in Harmonic Analysis

Week 8

Week Dates Topics
8 17 May 2022

Recent Research (and Challenges) in MIR

Project development

8 19 May 2022
  • Music and AI: Julia Mills (guest lecture)

Project development

Week 9

Week Dates Topics
9a 24 & 26 May 2022

Counterpoint

MEI

  • MEI (Music Encoding Initiative) Release 2.0

Week 10

Week Dates Topics
10 31 May 2022

Project presentations in class.

11 8 June 2022

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

12 9 June 2022

Project write-ups for students continuing at Stanford.

Other topics/resources

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

Humdrum & MIDI


Harmony II


Regular Expressions (Text-based searching)

Harmony-related Humdrum tools

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.

Performance analysis tool

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.

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 2022 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