Difference between revisions of "Music 254/CS 275b Spring 2024 Syllabus"
(Created page with " <font size=+1><b>Music 254/CS 275b "Computational Music Analysis " <br> Stanford University (Spring 2023).</b></font> This music information retrieval course (previously l...") |
|||
Line 1: | Line 1: | ||
− | <font size=+1><b>Music 254/CS 275b "Computational Music Analysis " <br> Stanford University (Spring | + | <font size=+1><b>Music 254/CS 275b "Computational Music Analysis " <br> Stanford University (Spring 2024).</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++), [https://humlib.humdrum.org humlib], [https://verovio.humdrum.org VHV]. [[HumdrumR]], 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++), [https://humlib.humdrum.org | ||
+ | humlib], [https://verovio.humdrum.org VHV]. [[HumdrumR]], 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. | ||
− | 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 |
− | 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. | + | 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. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 51: | Line 67: | ||
<td> | <td> | ||
25% class participation, 75% project | 25% class participation, 75% project | ||
− | <ul> <li> Project proposal: 2+ pages, due Thursday. | + | <ul> <li> Project proposal: 2+ pages, due Thursday. 18 April 2024 |
− | <li> Project progress report: | + | <li> Project progress report: 4+ pages, Thurs. 9 May 2024 |
− | <li> Project presentation in class: Tues. | + | <li> Project presentation in class: Tues. 4 June 2024 |
<li> Project writeup: 10–20 pages | <li> Project writeup: 10–20 pages | ||
− | * <b>Graduating</b> in June | + | * <b>Graduating</b> in June 2024: Due on <b>7 June 2024</b> 11:59pm. |
− | * <b>Not graduating</b>: Due on <b> | + | * <b>Not graduating</b>: Due on <b>11 June</b> 2024 11:59pm. |
</ul> | </ul> | ||
</td> | </td> | ||
Line 91: | Line 107: | ||
Go to week: <font color="gray" size="-1">Harmony</font> [[#week1|1]] | <font color="gray" size="-1">Melody</font> [[#week2|2]] | <font color="gray" size="-1">Rhythm</font> [[#week3|3]] | <font color="gray" size="-1">Harmony</font> [[#week4|4]] | <font color="gray" size="-1">RegEx</font> [[#week5|5]] | <font color="gray" size="-1">Programming</font> [[#week6|6]] | [[#week7|7]] | [[#week8|8]] | Go to week: <font color="gray" size="-1">Harmony</font> [[#week1|1]] | <font color="gray" size="-1">Melody</font> [[#week2|2]] | <font color="gray" size="-1">Rhythm</font> [[#week3|3]] | <font color="gray" size="-1">Harmony</font> [[#week4|4]] | <font color="gray" size="-1">RegEx</font> [[#week5|5]] | <font color="gray" size="-1">Programming</font> [[#week6|6]] | [[#week7|7]] | [[#week8|8]] | ||
− | See also [[Music 253/ | + | See also [[Music 253/CS_275a_Winter_2024_Syllabus | Music 253/CS 275a Syllabus]] |
=== Week 1 === | === Week 1 === | ||
Line 101: | Line 117: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 1<div id="week1"></div> || | + | | 1<div id="week1"></div> || 2 April, 4 April 2024 || |
<b>Lectures</b> | <b>Lectures</b> | ||
Line 132: | Line 148: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 2<div id="week3"></div> || | + | | 2<div id="week3"></div> || 9 April 2024 || |
<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/02A_TimbralSimilarity_2023.pdf Timbral Similarity] | * [https://esf.ccarh.org/CS275B-Mus254/02A_TimbralSimilarity_2023.pdf Timbral Similarity] | ||
Line 138: | Line 154: | ||
|- | |- | ||
− | | 2 || | + | | 2 || 11 April 2024 || |
* [https://esf.ccarh.org/CS275B-Mus254/02b_Cope1-2023.pdf Cope (1): Experiments in Musical Intelligence] | * [https://esf.ccarh.org/CS275B-Mus254/02b_Cope1-2023.pdf Cope (1): Experiments in Musical Intelligence] | ||
Line 155: | Line 171: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 2<div id="week2"></div> || 18 | + | | 2<div id="week2"></div> || 16 & 18 April 2024 || |
<b>AI Audio Compositions, Emily Howell Lectures (Style Synthesis)</b> | <b>AI Audio Compositions, Emily Howell Lectures (Style Synthesis)</b> | ||
* [https://esf.ccarh.org/CS275B-Mus254/03a_AIMusGen-2023.pdf AI-audio-based music generation] | * [https://esf.ccarh.org/CS275B-Mus254/03a_AIMusGen-2023.pdf AI-audio-based music generation] | ||
Line 175: | Line 191: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 4<div id="week4"></div> || | + | | 4<div id="week4"></div> || 23 April 2024 || |
<b>Lectures: Practical Realities of Research</b> | <b>Lectures: Practical Realities of Research</b> | ||
Line 182: | Line 198: | ||
* [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 || | + | | 4 || 25 April 2024 || |
<b> Audio Similarity</b> | <b> Audio Similarity</b> | ||
* [https://esf.ccarh.org/CS275B-Mus254/04b_Audio-similarity.pdf Audio similarity] | * [https://esf.ccarh.org/CS275B-Mus254/04b_Audio-similarity.pdf Audio similarity] | ||
Line 197: | Line 213: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 5<div id="week5"></div> || | + | | 5<div id="week5"></div> || 20 April 2024 || |
<b>Audio similarity</b> | <b>Audio similarity</b> | ||
* [https://esf.ccarh.org/CS275B-Mus254/04b_Audio-similarity_2023.pdf Audio similarity] | * [https://esf.ccarh.org/CS275B-Mus254/04b_Audio-similarity_2023.pdf Audio similarity] | ||
Line 205: | Line 221: | ||
|- | |- | ||
− | | 5 || | + | | 5 || 2 May 2024 || |
* [https://esf.ccarh.org/CS275B-Mus254/05b_Datasets-music-research23.pdf Datasets for music research] | * [https://esf.ccarh.org/CS275B-Mus254/05b_Datasets-music-research23.pdf Datasets for music research] | ||
Line 212: | Line 228: | ||
<b> Regular Expressions </b> | <b> Regular Expressions </b> | ||
* [https://docs.google.com/presentation/d/1H_bjIvY0tr4XAs0g1fWi1DHARD-YKkOWpi0j5GXNSwc/edit#slide=id.p21 Regular Expressions] | * [https://docs.google.com/presentation/d/1H_bjIvY0tr4XAs0g1fWi1DHARD-YKkOWpi0j5GXNSwc/edit#slide=id.p21 Regular Expressions] | ||
− | |||
Line 226: | Line 241: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 6<div id="week6"></div> || | + | | 6<div id="week6"></div> || 7 May 2024 || |
<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 241: | Line 256: | ||
* [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 || | + | | 6 || 9 May 2024|| |
* 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 260: | Line 275: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 7 || | + | | 7 || 14 May 2024 || |
<ul><li>Wolfgang Drescher, guest lecture</li> | <ul><li>Wolfgang Drescher, guest lecture</li> | ||
<li>Katherine Wong, guest presentation</li> | <li>Katherine Wong, guest presentation</li> | ||
</ul> | </ul> | ||
|- | |- | ||
− | | 7 || | + | | 7 || 16 May 2024 || |
<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] | ||
Line 283: | Line 298: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 8 || | + | | 8 || 21 May 2024 || |
<b>Recent Research (and Challenges) in MIR</b> | <b>Recent Research (and Challenges) in MIR</b> | ||
Line 292: | Line 307: | ||
|- | |- | ||
− | | 8 || | + | | 8 || 23 May 2024 || |
<b>Rhythm and Meter</b> | <b>Rhythm and Meter</b> | ||
* [https://esf.ccarh.org/CS275B-Mus254/08B_Rhythmic%20perception_2023.pdf Rhythm, meter, and their perception] | * [https://esf.ccarh.org/CS275B-Mus254/08B_Rhythmic%20perception_2023.pdf Rhythm, meter, and their perception] | ||
Line 309: | Line 324: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 9a || 30 May | + | | 9a || 28 May, 30 May 2024 || |
<b> Vocal clones</b> | <b> Vocal clones</b> | ||
* [https://esf.ccarh.org/CS275B-Mus254/09_Vocal-clones-2023.pdf Vocal clones] | * [https://esf.ccarh.org/CS275B-Mus254/09_Vocal-clones-2023.pdf Vocal clones] | ||
Line 326: | Line 341: | ||
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 10 || | + | | 10 || 4 June 2024 || |
<b> Project presentations in class.</b> | <b> Project presentations in class.</b> | ||
|- | |- | ||
− | | 11 || | + | | 11 || 7 June 2024 || |
− | <b> Project write-ups</b> for students <b>taking a degree</b> in June | + | <b> Project write-ups</b> for students <b>taking a degree</b> in June 2024. |
|- | |- | ||
− | | 12 || | + | | 12 || 11 June 2024 || |
<b> Project write-ups</b> for students <b>continuing</b> at Stanford. | <b> Project write-ups</b> for students <b>continuing</b> at Stanford. | ||
|- | |- |
Revision as of 21:16, 26 March 2024
Music 254/CS 275b "Computational Music Analysis "
Stanford University (Spring 2024).
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++), [https://humlib.humdrum.org humlib], VHV. HumdrumR, 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.
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
|
||
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. |
Contents
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 | 2 April, 4 April 2024 |
Lectures
|
Week 2
Week | Dates | Topics |
---|---|---|
2 | 9 April 2024 |
Lectures: Approaches to melodic and other musical-similarity assessment |
2 | 11 April 2024 |
Week 3
Week | Dates | Topics |
---|---|---|
2 | 16 & 18 April 2024 |
AI Audio Compositions, Emily Howell Lectures (Style Synthesis) |
Week 4
Week | Dates | Topics |
---|---|---|
4 | 23 April 2024 |
Lectures: Practical Realities of Research
|
4 | 25 April 2024 |
Audio Similarity |
Week 5
Week | Dates | Topics |
---|---|---|
5 | 20 April 2024 |
Audio similarity
|
5 | 2 May 2024 |
Regular Expressions
|
Week 6
Week | Dates | Topics |
---|---|---|
6 | 7 May 2024 |
Compositional schemata
Counterpoint II Rhythm and Meter Programming for Humdrum files
|
6 | 9 May 2024 |
Sonority distributions by bass-line scale degrees
|
Week 7
Week | Dates | Topics |
---|---|---|
7 | 14 May 2024 |
|
7 | 16 May 2024 |
Recent developments in MIR 07A_RecentWork_SymbolicMIR_2021.ppt 07A. Recent Work in Symbolic MIR] Recent Work in Harmonic Analysis |
Week 8
Week | Dates | Topics |
---|---|---|
8 | 21 May 2024 |
Recent Research (and Challenges) in MIR
Project development |
8 | 23 May 2024 |
Rhythm and Meter Project development |
Week 9
Week | Dates | Topics |
---|---|---|
9a | 28 May, 30 May 2024 |
Vocal clones MEI
|
Week 10
Week | Dates | Topics |
---|---|---|
10 | 4 June 2024 |
Project presentations in class. |
11 | 7 June 2024 |
Project write-ups for students taking a degree in June 2024. |
12 | 11 June 2024 |
Project write-ups for students continuing at Stanford. |
Online resources for this class
Data/Data entry
- Data/Data entry in Humdrum (PDF slides)
- KernScores: digital library of scores in the **kern format
- [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
- Humdrum to MIDI (PDF slides)
Harmony II
- Harmony II Key analysis
Regular Expressions (Text-based searching)
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.
- prange and cint 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
- 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:
- command line
- list of command-line programs
- sort: sort lines of data alphabetically or numerically.
- uniq: Remove/count successively repeated lines of text.
- Support tools:
- Pitchmix and Markov analysis of composite sonorities
Melody Lab
- Melody Tools available in Humdrum
- melody tools:
- support tools:
- unix:
- graphics (unix):
General Policies and University Rules
General policies and university rules:
- Delivery times:
- Assignments: by the start of the class for which they are due.
- Project writeup: by 11 p.m. 7 or 11 June 2022 by 11p.
- Honor code: We will act and expect you to act according to the Stanford Honor Code.
- 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).
- Students in distress: Stanford offers an abundance of resources for students dealing with problems of a personal nature.
- Confidential support: (650) 736-6933
- Crisis hotline: (650) 725-9955
- Title IX questions: (650) 497-4955